Reimplement view

This subsumes @stuk’s failing specs for `view`. I have rewritten the `view` observer such that it passes the specs, and through poking and prodding, verified that it would work for producing a sliding window for a scrolling list that lazily populates its visible rows.