Add (untested) gap buffer implementation.
Ditch list of lines in favor of gap buffer.

This is just a snapshot commit after I made everything compile. It just
segfaults.
Fix bugs to at least display file correctly.
Various off-by-1 fixes.
Fix word motions.
Fix paragraph motions.
Fix inserts and deletes.
Fix segfault on empty files.
Fix buffer_top motion.
Fix scrolling.

Can't really use an offset for the window top, because it might not
correspond to a character in the buffer. Use explicit line and column.
Merge branch 'buffer-gap'