Basic gap buffer and text editor implementation, and some tests for
the gap buffer