IDL: Binding code generation for dictionaries

This CL adds V8 binding code generation for IDL dictionaries.
- Each dictionary will have its own IDL file because we generate binding
  code from dedicated template(dictionary_v8.{cpp,h}).
- Generated binding will contain toV8() and toNative() functions. They are
  similar to interfaces' toV8() and toNative(), but there are a little
  differences. toV8() never creates a wrapper object. It always returns
  a new V8 object.  Similarly, toNative() always creates a new DOM object.
  This behavior should confirm that dictionaries are passed by value.
- IDL dictionaries are required to be GarbageCollected because we don't want
  to add further Oilpan transition pain.
- This CL removes TestDictDerived. We are currently not supporting
  inheritance.
- Modified IdlDictionary and IdlDictionaryMember to code generation work.
- Added "is_dictionary" flag to interfaces_info so that the code generator
  can handle IDL dictionary correctly.
- Added "is_dictionary" property to IdlType. This is needed for binding code
  generation.
- Added v8_dictionary.py. This creates template context for dictionaries.

Generated binding code won't be able to compile at this point. We need
DOM implementation. In follow-up CLs, we are planning to auto-generate
DOM implementation.

BUG=321462

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

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