Fix getOnscreenNodes() and getOffscreenNodes() even harder.

Despite the previous fix in 3.11.0, there were still edge cases in which
onscreen/offscreen nodes within scrollable regions were not properly
identified.

This time I fixed all the bugs. I promise. There are zero bugs. Cross my
heart and hope to die. Unless I'm wrong, in which case there are more
bugs.
Add more comments, and also add an isHostOnscreen check I forgot before.
Stop using random SmugMug images in manual tests, since they take a while to load.
node-scroll-info: Fix even more edge cases.

We weren't paying attention to window scroll events when attached to a
non-body host node, so the combination of a window scroll offset and the
host node scroll offset wasn't properly taken into account when
determining whether nodes were onscreen. Now it is.
Merge branch 'new-node-scrollinfo' into release-3.12.0
Build node-scroll-info.