vim: try to clone VIM page up/down semantics more closely

Gtk does it's own thing. VIM tries to place the bottom visible region
right near the top on page down, and opposite on page up.

This still gives us nice scrolling since it uses built in scrolling.

Selections are also preseved.