Switch between emacs and vi keybindings, switch key detection to the keypress module.

This is a bit of a big change. I wanted to have emacs keybindings but it was really hard to get it working with the javascript keycodes. So this requires the keypress module, which doesn't change the current way keys are detected too much, but does make it a bit easier to read (instead of using key codes). You can switch keybindings with the emacs and vi commands. 

Hopefully some of these changes are useful! I'd be happy to change anything if needed.