This is an initial test implementation of command search code that uses menu items.
Working
- All menu definitions are scanned.
- Short-cuts.
- Menu shortcuts (even if the menu items don't have shortcuts).
- Expanding menu item & paths.
- Use the button context store, operator-context & operator-properties.
- Listing properties (check-boxes & enums).
- Expanding non "MenuType" menus (such as operator menus that expand operator options).
- Support dynamic menu titles (context menus that have a blank menu label and instead rely on the first label).
- Grey out menu items which would display greyed out in the menu.
Open Topics
- When to use this, possibly allow switching between operator & menu search (noting this here, however I think this would be decided on closer to the patch being finished/accepted).
- Better filtering based on context (this is a more general issue, as scanning all menus causes items to show up which don't make sense - file selector bookmark action showing up in the 3D view for example).
- Currently opening all menus gives a lot of Python exceptions.
Possible solutions:- Add poll functions for all menus which have this issue.
- Don't scan all menus, instead scanning the header & keymaps, to find menus accessible in the current context.

