change key to tag; add actual keyboard shortcuts; add menu item validate

Interested in your thoughts on my changes/additions. I didn't update the README or specs, but will do so if we can converge on something like these:

- change :key to :tag in order to use :key for the keyboard shortcut
- add keyboard shortcuts as a string
- add :validate in order to support validateMenuItem
- :target defaults to NSApp
- change MenuMotion::Menu update method to reconfig in order to not collide with NSMenu's update method

E.g.
```
{
  title: SHAPE_AXES_MENU_TITLE,
  target: self,
  action: :_static_axes,
  tag: :shape_axes,
  key: 'shift-cmd-y',
  validate: ->(mi) {
    mi.title = (@shape_view.axesStatic ?
                SHAPE_AXES_MENU_TITLE :
                STATIC_AXES_MENU_TITLE)
    @shape_view.axesVisible
  }
}                                               
```