create modes on the fly, keep `nmap`, `imap` as aliases
add helper method to switch modes

You already can define own modes via `vimflowy.map` for specific tasks, but this
feature provides a handy way to switch between them.

```js

function hi() { vimflowy.log('Hi!') }

vimflowy.map('h', hi, 'chatty', 'say hi')
> [vimflowy] Key h mapped to say hi

vimflowy.mode('chatty')
> Now you are in the [chatty] mode, congrats!

Press h
> [vimflowy] h has been pressed: say hi
> [vimflowy] Hi!

```
create modes on the fly, keep `nmap`, `imap` as aliases
hooray, add default vi key bindings