Fix bug in gmail where chat moles blink upon opening.

The reason for the blinking is a chicken-egg bug where we composite
the iframe contents, but not the iframe in the parent page. In theory
that never happens because anytime something inside the iframe
gets composited for non-overlap reasons, we tell the parent page
inside of style recalc to composite the iframe in the ChickenEggHacks
codepath of RenderLayerCompositor::updateLayerCompositingState. But when
it happens inside of compositing update (i.e. due to overlap), we miss a frame.

That theory turned out to be false in the case of compositing things
that are visibility:hidden. The overlap testing would think that
the element was going to be composited, and would add it to the
overlap test rects. But then when we got to compositing the
iframe, we'd check that it was visibility:hidden and not composite it.
So we'd end up with an iframe whose contents were composited
only for overlap reasons.

The fix is to use the same check in both the overlap testing
and in the test for whether an element should allocate a
CompositedLayerMapping. Specifically, the overlap testing
should also test if the subtree is invisible.

This fix isn't totally awesome in that it doesn't future-proof
against bugs like this getting added in the future.
I couldn't think of a good assert to add.

BUG=368388,366607

Review URL: https://codereview.chromium.org/278123002

git-svn-id: svn://svn.chromium.org/blink/trunk@173809 bbb929c8-8fbe-4397-9dbb-9b2b20218538