Re-land deferred compositing updates with fixed assumptions

Deferred compositing updates originally landed in r159961.
It was reverted in r160106 because of debug assertions in
touch-event scrollingcoordinator code.

The problem was that ScrollingCoordinator touch event handling
was still assuming that compositing state is correctly updated
immediately after layout and style recalculations. This is not
true when compositing updates are deferred.  This patch re-lands
deferred compositing with the correct ScrollingCoordinator
changes.

Additionally in the time that this patch was reverted, the
inspector has changed to support asynchronous compositing
updates. This patch also fixes some logic in that new code
(removing the timeout mechanism) so that it works seamlessly
with deferred compositing updates.

BUG=229679, 302726, 309733

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=161126

R=jamesr@chromium.org

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

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