Refactoring DrawLooper so that it can apply shadow effects as skia image filters

This fixes a bug where a bitmap's alpha channel was not being blurred when
rendering 2D canvas shadows.

BUG=100703
R=senorblanco
TEST=LayoutTest fast/canvas/canvas-drawImage-shadow-blur.html

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

Review URL: https://chromiumcodereview.appspot.com/23102018

git-svn-id: svn://svn.chromium.org/blink/trunk@156783 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Implement dispatching of unprefixed animation events.

This commit implements the dispatching to event listeners for
animations DOM events. It uses the same mechanism as CSS Transitions
which is the following :
- If we have only listeners on prefixed events we dispatch prefixed events.
- If we have only listeners on unprefixed events we dispatch unprefixed events.
- If we have listeners on both unprefixed and prefixed events we dispatch
unprefixed events only (they take precedence).

This commit also monitors the usage of each CSS Animations events we dispatch.
While it's a bit verbose I think it's important to have stats for each of them
so we can make a decision in some years to remove the prefixed code path.

Review URL: https://chromiumcodereview.appspot.com/23453002

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