Optimise amount of elements rendered in scrollable mode

Another day, another pull request.

This one prevents knockout.list from rendering tiles if the entire list is outside the viewport (and not within one viewport height's distance).

I'm considering adding a few more tests before this PR is ready for merging - currently only the test at line 680 ensures correct behaviour but it's too implicit to my taste - but comments about the direction are most welcome already