Starting to wire up keymap plumbing.

Still can't do much, but we can scroll the viewport around now in a moderately
"proper" way.
Implementing more basic editing commands.

Now I'm wanting to rethink Loc. I don't think maintaining a character offset is
super useful. I think I'll change Loc to be just row/col (aka line index/offset
into line) and then turn that back into a character offset if we need it.
Revamped Loc to be just row/col.

One obtains the character offset into the buffer when (rarely) needed via
Buffer.offset(Loc).
Wired up hacky insert-self, line redisplay.

Now we can type and characters appear in the buffer. Woot! Some basic cursor
movement commands also work. Double woot! Of course, editing without a visible
cursor is somewhat challenging. :)