Issue #28: Added Menu class, abstracted menu data/behavior

Added Menu.monitor: tracks open/close conditions; used in parent update
Added isClosed/isOpened: predicates to specify open/close conditions
Now all you need in parent class is to predefine all used menus and monitor for open/close events - easy!
Also, probably more efficient since we're only instantiating one menu, rather than one on every request.