Menu Properties
---------------
 o Item list
 o Drawing (layout, mostly) interface
 Optionally, perhaps stored in an alist
 * Title item (a regular menu item)
 * Local keymap context (default to global menu keymap)
 * Popup delay (could do this instead w/ a hook when a menu item becomes the
                current selection, before mouse/key click)
 * Side pixmap, color
 * Text color
 * background color
 * background pixmap
 * Font
 * Other things interpreted specially by the arbitrary drawing code

Menu Item Properties
--------------------
 o Identifier
 o "Hover" hook (when the item is highlighted; use for cascade, popup-help, etc.)
 o "Action" hook (when the item is activated)
 o Drawing interface
 Optionally:
 * String(s) to display (identifier used if not given)
 * Pixmap, and properties (e.g., location)
 * Shortcut key list (just gets incorporated into the keymap of parent)
 * States (hidden, grayed, selected)

Notes: if both Hover and Action are #f, then the item is not highlighted
and is not a stopping place for keypresses

Need to be able to:
  o change key bindings dynamically and arbitrarily
  o dynamically load new drawing code
