Add shortcut and cursor listeners

Hi Jeff,

here is my pull request related to issue #14. You see that a shortcut event returns a quite detailed list with editorId, selection and so on. I found this detailed return very convenient, in particular when developing apps with multiple dynamically created Ace editor widgets.

It also returns a random number. This is makes it easier to check in R whether indeed a key has been pressed or an observer was just called by Shiny without a new key being pressed. (Shiny has the tendency to call observers too often when working with dynamic UI elements).

I updated the version so that different shortcuts for Windows and Mac can be defined but have not tested it on the Mac yet.

Of course you can remove my name from the description file. That is only for my own documentation.

Best wishes,
Sebastian
I'm not sure `keyId` communicates what this param really does. Can we consider a name change? A couple of options:

- hotkeys
- shortcuts
- keyBindings

I personally like hotkeys best, but I'm not sure if that's internationally understood. What do you think? I'm open to alternatives.