Replace data and cachedLines with Lines

Simplifies the buffer struct
Fix panic on empty buffer
Center the screen on every cursor movement
Add LongestLineLen field on buffer

Rename b->buf to be more clear in pointer recievers.
Editing capabilities