Fix cursor movement.
Decoupled cursor movement from keyboard input from the cursor
positioning math.
Another fix for cursor movement.
Fix for cursor boundaries check.
Fix cursor rendering, use repaint() instead of update() to avoid
artifacts.
Implemented cursor moving when using the scrollbars.
Cursor doesn't get dragged around by scrollbar movement but it stays
where it is and it stops rendering when outside of the view.