Level-2 factory implementing the WAI-ARIA APG accordion keyboard model over
a registration model rather than contentChildren roving. Registration is
immune to component-view boundaries, so any accordion skin - the
@cngx/ui/accordion organism, or a future one that renders each header in
its own view - gets working Arrow/Home/End nav.
Pillar 1 (Ableitung statt Verwaltung): the tab stop is derived from the
coordinator's rovingActiveId, not managed as a second index. Focus
movement is a DOM concern the factory owns - the coordinator only records
which header should be the stop; it never touches the DOM.