Made listings work. You can't do anything yet.

I keep the user's current mode in a string, and keybindings can be changed
depending what mode the user is currently in. For example, jk only work in
normal mode, whereas in command mode they will be treated like letters in
a command.

The mode is reset to normal mode after a command is run, but having ESC reset
the mode to normal wouldn't be that hard.