Redo running.

Can now run around corners. Handles lots of other, uh, corner cases better.
Handle the stage being smaller than the view.