Revert "Revert everything related to avoiding repaints when scrolling composited layers"

This reverts commit edb8ee49dd781b0e8fb4b2f0e69df43cbf8d66a5, which reverted all
CL's related to the avoidance of repaint when scrolling composited layers.

>    This change reverts the following changes
>    
>    1) "Avoid unnecessary repaints when scrolling composited layers"
>      commit cb83ea82bdddf046ac06fe9b3c9e98c39b132c0f.
>      Review URL: https://codereview.chromium.org/27239004
>    
>    2) "Be sure to repaint if we're scrolling a marquee."
>      commit 6381190bee369232e502aa3bbfc7ce9700625348
>      Review URL: https://codereview.chromium.org/50493016
>    
>    3) "Only skip repaints for layers whose bookkeeping is up to date"
>      commit 42b329b685391994ee5ae5a06b614d03effd6a97.
>      Review URL: https://codereview.chromium.org/79263002
>    
>    BUG=319655
>    R=shawnsingh@chromium.org
>    
>    Review URL: https://codereview.chromium.org/78233006

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

git-svn-id: svn://svn.chromium.org/blink/trunk@162666 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Web Animations: Fix TimedItem to handle iterationDuration=0 and iterationCount=infinity

Currently this case hits an assertion in calculatePhase().

The spec is unclear about how this should be handled, but we need to do
something sensible as it's possible to hit this case from CSS with
'animation: myAnimation infinite'.

This change fixes TimedItem to handle this case such that the activeDuration is
zero and the animation immediately 'jumps' to the end of the iterations
(iterationCount=infinity, timeFraction=1).

Also removes some superfluous logic from calculateIterationTime() and
calculateCurrentIteration().

BUG=322575
R=dstockwell

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

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