IDL: DOM impl class code generation for IDL dictionaries

After this CL, CodeGeneratorV8 generates not only V8 bindings, but also
DOM implementation classes for IDL dictionaries.

- For an IDL file which defines a dictionary, the code generator
  generates bindings code (V8Foo.{cpp,h}) and DOM impl code
  (Foo.{cpp,h}).

- Added Jinja templates for DOM impl generation. The context for these
  templates is created by v8_dictionary.dictionary_impl_context().

- v8_types.cpp_types() takes a new argument called
  |used_as_return_type|. This flags is used by member_impl_context().
  Also, |used_in_cpp_sequence| argument is renamed to |used_as_member|.

IDL dictionaries are still not be able to use in core/modules. We need
to generate impl classes in the right place.
(e.g. core/dom/Foo.idl -> gen/blink/core/dom/Foo.{cpp,h})

Also, following types are not supported yet as dictionary members:
- union types.
- enumeration types.
- composite types (arrays, sequences and dictionaries) of which element
  type is an interface.

BUG=321462

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

git-svn-id: svn://svn.chromium.org/blink/trunk@179190 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add a usecounter for SMIL elements in the document

The current SVGAnimation usecounter [1] is skewed by Modernizr [2] and
doesn't count the other animation types such as <animateMotion>. This
patch adds a new usecounter for SMIL animation elements that are in
the document. I manually confirmed this does not fire on the
Modernizr test page [3] whereas the old SVGAnimation counter does.

[1] http://www.chromestatus.com/metrics/feature/timeline/popularity/90
[2] https://github.com/Modernizr/Modernizr/blob/v2.8.3/modernizr.js#L832-L835
[3] http://modernizr.github.io/Modernizr/test/

BUG=258298

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

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