Start work on a menubar extension
Prepare for delegates
Make callbacks for menubar clicking work
Push this further up the hill, we can now add/remove a basic menu that does nothing
Bring this into a pretty much working state
Snag the final menubar fixme
Fix up some of the docs. lots more to come
Rework API for menus, refactor the backend to prepare for nested menus
Fix build
Support checked state for menubar menu items, and disabled state, and submenus
Allow menu structure to be generated dynamically via a Lua callback, when the user clicks on the menubar item
rename clickDelegate to HSMenubarItemClickDelegate
rename menuDelegate to HSMenubarItemMenuDelegate
Refactor some common operations into CPP macros. Refactor the callback objects to inherit from a base that reduces code duplication. Restructure the source to keep similar things together (defines, objc classes, helper functions, API implementations). Unify menu handling code into a handful of helper functions. Lots more comments for later hacking. Add callback based dynamic menus. Refactor API names slightly. Tidy up __gc function names so they make more sense to me.
Fix up documentation and re-enable the garbage collection of the dynamicMenuDelegates array