Using zt/zz/zb and possibly T/M/L would screw up the scroll view badly.

We were directly invoking scrollToPoint on the clip view containing the
ViTextView, and sometime in the last couple of OS X frameworks that
started breaking things. Symptoms were that after using zt/zz/zb,
starting insert mode, particularly when changing lines, would cause the
scrollable space to completely reload and thus the cursor to be
positioned at the bottom of the screen on each keystroke.

We now do the math entirely based on information from the ViTextView,
and invoke scrollPoint: on the text view itself to update the scroll
location. We still explicitly setNeedsDisplay on the vertical ruler.