failed attempt to fix TextBlock mouse selection...

by only selecting in the direction that the cursor is relative to the
anticursor.

This required directionalizing Cursor::seekHoriz; also, for
TextBlock::seek to determine which direction the cursor is relative to
the anticursor, had to expose Cursor::offset.

If you mouse select within a TextBlock *super fast* then this will
mostly work... :D

This doesn't work because if the mouse is only one character away from
the anticursor, the cursor will go one character further than it ends
up (to test the distance), then when it moves back, a new TextPiece is
created that's different from what the anticursor points at. So if you
play around with it by selecting super fast, even when it doesn't error,
you might notice characters jiggling around.