genericized (better cross-module) <3
applyTopmostElementProtection: visible = true by default
whoops, .has returns a jQuery set
modules['styleTweaks'] protectedElements (topmost/visible element) fixed up

* re-run protection on adding new elements to the collection
* if any element's (top left corner) is out of viewport, defer it for window.onscroll
* efficiency checks
* some name changing
Merge pull request #1175 from andytuba/issue_1175

button zindex issues