Complex passkeys, exit insert mode commands, and enable escape insert mode for embeds

This is a continuation of #1369, incorporating code from #1211. 

From #1369, this PR:
> * adds passkey support for all mappable keys, with multi-character key representations recognised when delimited with spaces (via #1368).
> * adds `exitInsertMode` and `exitInsertModeAndPassKey` commands (via #1140), which fixes #301 and starts work on resolving #1176.
> * enable passkeys for the `exitInsertMode`/`exitInsertModeAndPassKey` commands.

In addition, this PR:
* enables `exitInsertMode`/`exitInsertModeAndPassKey` for `<embed>` and `<object>` elements.

This new addition can be tested on [this webpage](http://www.bensilvis.com/?p=146).
* Pressing `esc` now blurs the embedded flash.
* To pass `esc` to the embedded flash, you can add `esc` as a passkey.
* `exitInsertModeAndPassKey` can also be mapped to `esc` to blur *and* pass the key (but is generally a bad idea until something happens with #1188).