Added WIP scrolling methods / lines lost in rebase

A few lines in ListView __init__ were lost as a result of rebasing. Upon
restoring them, tests pass.

Added comments to help understand how scrolling in ListView works. From
this, patterned a new scroll_to() from _scroll(). These methods
manipulate _wstart and _wend, and set _index to set the scroll. An
attempt to set the scroll_y value of the ScrollView has not yet fixed a
problem where interactive scrolling breaks after a programmatic call to
scroll_to().

Fixed a few bugs in the test_data_changes.py example app.