Add scroll code from #575

Also update Mock::TextBlock so #contents_alignment does something. It
just tells its dsl object that it takes up about one line of space. This
is necessary for the scroll specs to pass with the mock backend.
Merge pull request #766 from shoes/update-scroll

Add scroll* methods to slots

Changelog: improvement