Save scroll position when when showing another screen and restore it when redisplayed.

Fixes #423.
I haven't tested this extremely thoroughly, so it may break things.