Performance fixes

Work in progress: but making visibleArea a separate RenderLayer with translateZ(0) makes this whole thing a lot faster (we're talking 50 ms per frame down to 19 ms per frame when scrolling on a reasonably complex Lens document: http://lens.elifesciences.org/00778/#toc/all). Using translate instead of top means that there is also no Layout invalidated on every scroll event, as was before.

What browsers would are you supporting? Obviously this is a bit tricky when it comes to older browsers. 

This PR should, when ready, ideally be combined with https://github.com/substance/reader/pull/1