Interpolate loading progress in tab animation

Instead of skipping to the new load-progress value as it arrives,
interpolate to it. This results in a smoother animation as the
load-progress callbacks can be fairly sparse (and jump from 20% to 80%
for instance).

Drives animations off of the same timer that is used for the throbbing
state. This will hopefully address a performance regression as the
throbbing timer, progress fade-out animation and favicon fade-in
animation were all scheduling separate high-frequency repainting of the
tab icon.

Bug: chromium:903827, chromium:903147, chromium:902475, chromium:901751

progress

Change-Id: Iad2a24d94206d5871a5cacc5e56d072161407940
Reviewed-on: https://chromium-review.googlesource.com/c/1330345
Commit-Queue: Peter Boström <pbos@chromium.org>
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607316}
8 files changed