Refactoring interactive scrolling for Safari

Solutions for [#53579129] aren't working well in Safari, because the height of an ImageInteractive isn't always ready at load time. This is another pass, recalculating at scroll time.

https://www.pivotaltracker.com/story/show/53579129