Make compositingState explicit (re-land with bogus ASSERT removed)

A lot of code uses isComposited() and compositedLayerMapping()
as booleans to check the compositing state of a RenderLayer or
RenderObject. However, in the code there are actually 3 different
states:

(1) not composited (paints into RenderLayerBacking of a
    composited ancestor)
(2) paints into own RenderLayerBacking
(3) has its own RenderLayerBacking but actually still paints
    into composited ancestor.

Furthermore, upcoming changes to compositing will add a
fourth state:

(4) paints into a GraphicsLayer that is shared by a group of
    layers.

This patch removes isComposited() boolean check, and
replaces it with compositingState() that returns an enum.

Most call sites outside of RenderLayer, RenderLayerBacking,
and RenderLayerCompositor have been updated to reflect
what states they really intended to check for.  Remaining call
sites have been replaced with the compositedLayerMapping()
accessor for now, which is exactly equivalent to the old
isComposited() boolean, and those sites will be updated in
follow-up patches.

BUG=261605

Earlier version reverted:
https://src.chromium.org/viewvc/blink?view=rev&revision=159068

R=jamesr@chromium.org, jchaffraix@chromium.org

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

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