Refactor IDL type handling into idl_types.py

Preliminary step in moving to using IdlType objects for types,
instead of strings, to allow more complex and flexible type handling.

Ultimately we will be able to have nested types, and type-handling functions
will be methods on the IdlType object, which simplifies the interface.


Background:
Currently IDL type handling is spread across idl_definitions.py
and v8_types.idl, and uses strings internally (except for union types).

We need more complex type handling, e.g.,
a nullable union of types including a callback function.
(for Web Animations)
...and want to move nullability into the type (instead of attribute,
operation, or argument), e.g., for use by Closure and for type-checking
(and for correctness, b/c nullability is a property of the type).

Conveniently, I've written an existing IdlType class, b/c we need this
flexibility for typedef resolution.

This is a preliminary CL, just moving the code into one module; it's just:
* move 2 files into 1
* update calls

In a followup, I'll replace the existing string handling with objects,
reusing the existing class.
(Again, this will be primarily reorganization and updating the calls;
once it's OO, we won't need all the imports and namespaces
on the functions!)
After that I'll start adding features, like moving nullability into the type.

BUG=345137
BUG=345503
R=haraken

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

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