Web Animations: Plumb timeToNextEffect through players and animation

timeToNextEffect is used to return how long before an animation needs another sample (or example, an animation that has just started with a delay of 2s will have a timeToNextEffect of 2s).

We intend to union these values together in Timelines so that we can set a timer when we have nothing to do for a long period of time (currently we just use requestAnimationFrame).

BUG=258896

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160054 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Don't cast to HTMLDialogElement when <dialog> is not enabled.

BUG=309201

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160055 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add histogram to measure webfont cache hit ratio

This patch adds WebFont.CacheHit histogram which measures how often
- A WebFont is loaded from cache (memory cache or disk cache)
- A WebFont is fetched from network
- A WebFont is served by data: URL

BUG=283631

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

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