I've been experimenting with tab-based site menus, sort of like the contributed Navigation module from 4.4. A simple modification to Block.module added extra regions for blocks (so I can put "Site Menu" in the top header or just above the main content), and CSS does the rest. It's a simple patch, and has potential uses beyond simply adding a menu to the top of my content (such as developing blocks that are appropriate to a footer, for example).
However, I'm now stumbling on another loss of functionality (as compared to Naviagation.module): I can't hide menu items. Navigation allowed me to set permissions on certain menu items, which was nice (so that my "Admin" tab didn't show unless you were in the Editor group). I can't do that with the stock Menu module.
As I've been thinking about this, I'm wondering if adding a role field to the menu table is the right answer. Perhaps, as a menu is being built, the system should parse down through the menu tree. If a tree has no nodes that are viewable to a user, that portion of the tree is pruned right off the menu. This would have the effect of hiding menu items that aren't pertinent, while also simplifying administration by making the hiding automatic (you're only need to worry about hiding the node, the menu pointer gets hidden automagically).
Is anyone working on something like this? Is this even the right approach? I'd really like to see, as a user, all the needed menuing functionality in a single module, and not have to fight to get Navigation.module ported to 4.5. It'd just be nice to have it all in one place, without several competing menu systems (Menu, Navigation, Taxonomy, or whatever else) trying to accomplish the same goal...