Implement scroll handler latency tracking

Since scroll handlers do not block composited scrolling, the existing
input latency metric will only report the response time for the
compositor when scrolling a page with a handler. This is not accurate
for pages that implement scroll-synchronized effects, because the
scroll handler needs to be invoked so that the page contents are
updated with the new scroll offset.

This patch fixes the problem by forwarding latency information from the
impl to the main thread when we are scrolling a layer that has an active
scroll event handler.

In the case the scroll handler is no-op, the latency information will be
terminated as a failed commit.

Sample trace:
https://drive.google.com/file/d/0ByyxMXB38gLDRE40bkU5TVd0U00/edit?usp=sharing

BUG=347366

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

Cr-Commit-Position: refs/heads/master@{#289307}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@289307 0039d316-1c4b-4281-b951-d872f2087c98
22 files changed