Painted into a corner, but this should work.
Intersections have been moved to be handled with display lists in FF 18. Mostly because a per-update check of visibility is disastrous for some corner cases (it seems to be the more logical approach to me, but hey...).
As a result off-screen animations will be updated and painted. This can take 100% CPU in some cases (e.g. Facebook loading throbber). So, the display lists need an intersection check anyway in the form of an intersectionObserver.
We have the base code for it, but it’s crashy. (damn hash tables again).
So... Fix https://bugzilla.mozilla.org/show_bug.cgi?id=1322717 and we can then likely enable this for UXP.