Bug 911889. Part 2: Refactor MarkLayersActive code into its own class and be much more explicit about what it does. r=mattwoodrow
This also changes the functionality a little bit to track independent
per-property mutation counts and independent "content active" status.
Bug 911889. Part 3: Create nsLayoutUtils::HasAnimations, and suppress opacity:0 optimizations whenever there's any opacity animation even if it's not using the compositor. r=dbaron
Bug 911889. Part 4. Add API to detect whether an nsGlobalWindow is running a timeout handler. r=bz
Bug 911889. Part 5. Add API to detect whether an nsRefreshDriver is in the middle of a refresh. r=dbaron
Bug 911889. Part 6: A scripted change to element.style.opacity or element.style.transform in a setTimeout or requestAnimationFrame callback should trigger our "style property is animated" heuristic. r=dbaron
Bug 911889. Part 7: A single change to CSS 'transform' should not be treated as animation. r=dbaron
Fix annotations for tests that are fixed by the patches in bug 911889.