Translate Escape codes into clear KeyStroke chars

Vrapper Core used to work with Control "Escape codes". Now the platform
is responsible for translating them to clear character KeyStrokes while
the "withCtrlKey" boolean is set to true.
Print key modifiers in toString for debugging.
Global map handles default bindings for any mode.

A number of keys in Vim act like equivalents for other keys. Vrapper
had a few of these hard-coded in its input listener, but previous
commits removed this.

This commit re-introduces / adds the following keys which can be used
in any mode:

* CTRL-H: backspace

* CTRL-I: tab

* CTRL-J: return

* CTRL-M: return

* CTRL-[: escape

Because they are in a global map, they don't need to be added to the
initial binding of a mode. However, because remaps are checked first,
users can still remap them should they want to.
Add constructor to modify KeyStroke modifiers.
Recursively parse keys with modifiers.

This allows to make combinations of Control, Shift, Alt and normal or special keys.
Merge pull request #286 from albertdev/controlkeys

Change control key handling, extend remap key syntax, allow remaps for C-[ / I / J / M