Removing an element with CSS -webkit-overflow-scrolling: touch breaks
subsequent touch events

<https://bugs.webkit.org/show_bug.cgi?id=134584>
<rdar://problem/17202021>

This issue is caused by the order of teardown for RenderLayers.

RenderLayer clears its m_backing in its destructor, calling the
RenderLayerBacking destructor. The RenderLayerBacking destructor calls
RenderLayerCompositor::willRemoveScrollingLayer(), which tries to
access the RenderLayer's backing that has already been cleared. This
causes us to skip the call to ChromeClient::removeScrollingLayer(),
resulting in a stale view that can block touch events.

Reviewed by Simon Fraser.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateScrollingLayers):
When calling willRemoveScrollingLayerWithBacking(), pass both the layer
and the RenderLayerBacking.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::willRemoveScrollingLayerWithBacking):
Renamed. Use the passed RenderLayerBacking, as the RenderLayer's
backing might have already been cleared.
(WebCore::RenderLayerCompositor::willRemoveScrollingLayer): Deleted.

* rendering/RenderLayerCompositor.h:
Renamed willRemoveScrollingLayer() to
willRemoveScrollingLayerWithBacking() and added a parameter.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170746 268f45cc-cd09-0410-ab3c-d52691b4dbfc