Made some small changes here and there. Renamed NavigationCategory to NavigationSubMenu as this makes more sense when seen in the context of some future changes.
Large changes to the navigation to make it easier to work with. All navigation classes have been rolled into one for easier menu construction and editing as well as infinite sub menu creation. Navigation has been updated so that it renders it own HTML output when a function is called, this is not echoed but rather returned to the caller.