Finished re-work of navigator layout declaration.

The point of this is to cleanly separate the directly addressable outer navigator namespace from the inner hosted model view namespace associated with each menu item. In order to do this cleanly (and without completely re-writing everything) I now create the menu levels, and then traverse the structure creating the menu item host windows. This commit still has some problems I need to debug. I suspect that I've got some sort of cyclic reference loop as I'm noting some telltale slowdown over time.
Disconnect the auto-generation of archetype and select menu level objects in menu item host.

Now that all the declarations are refactored, the archetype (i.e. a submenu layout + objectDescriptor for the menu item hosts...) is conveniently available (without the need to traverse subMenu's). I did have the item host object creating additional subMenu items and pushing them into the item host's associated menu level's subMenu array. This is what I've disconnected.
Bug fix to nodes navigator layout. Select item host state add.

Fixed missing nodes.objectDescriptor.description. Added exception to ensure it's not ommitted in future. Added select item host-specific state flag set initially to "archetype" and added menu level background base color tweak for select nodes.