Structural contract a CngxMenu (or a future menu-bar / nested menu
host) exposes to composers. Triggers and submenu directives depend on
this interface rather than on the concrete CngxMenu class so the
coupling stays substitutable.
Submenu companions registered inside this menu's content tree.
Empty when no submenu directive is present. Recursive: each entry's
inner is itself a CngxMenuHost with its own (possibly empty)
submenuItems.
Move DOM focus to the menu container element. Triggers that need to
transfer focus into the menu after open call this. Consumers must
ensure the host element carries a non-negative tabindex; see
CngxMenu.focus().