It uses colors similar to those seen on <http://golang.org>.
This prevents annoying behaviour when the editor is taller than the window.
It will mess with further size computation.
So that it doesn't make selected text unreadable.
As opposed to keeping the column intact.
This messes up drag-to-scroll during selection.
Fixes issue where the selection was showing up wrong.
Selection is drawn as highlight rectangles behind the text. There are at most three rectangles drawn - one for the first partial line, one for the last partial line, and one for the block of lines in between. Selection is now true block selection, where the highlight extends to the right edge of the window.