Web Animations API: Add Animation Constructor to API

ElementAnimation::animate now calls the Animation constructor, so most of the logic from ElementAnimation is now in Animation.

ElementAnimationTest.cpp moved to AnimationTest.cpp (as bypassing document/element status checks was going to get messy).

BUG=327564,334932

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166496 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make the timer in SMILTimeContainer more of an implementation detail

Add a few new methods to represent the different actions required:

 scheduleAnimationFrame(SMILTime fireTime)
 immediateAnimationFrame()
 cancelAnimationFrame()

and replace uses of m_timer.foo() and startTimer with the appropriate
method.

BUG=231576

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166497 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Update HTMLCollection.namedItem() to use the id/name cache. HTMLCollection
maintains an id/name cache internally. It was used by namedItems() method but
strangely not by the namedItem() one.

This change is good for performance as HTMLCollection.namedItem() will now use
the cache when available and thus avoid traversing the DOM tree unnecessarily.

There should be not web-exposed behavior change. This functionality is covered
by a decent amount of layout tests.

The CL also gets rid of HTMLCollection::checkForNameMatch() method as it is no
longer used. HTMLCollection::updateNameCache() already has the same checks
inlined.

R=arv, adamk

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166498 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Register for processing Custom Elements at microtask checkpoint time.

r166252 added a work queue that's processed at a microtask
checkpoint. Make Custom Elements also use that queue.

BUG=

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

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