Use IdlType (not str) for types in IDL compiler

Major refactoring, using IdlType objects for types instead of strings.
No changes to generated code.

This is just plumbing, primarily using
|idl_type_name| (= str(idl_type)) instead of |idl_type|
when the type name is needed.
Notably, *no* changes to the templates are needed!

(I updated callback_interface.* b/c we don't use return_
for methods, but no changes were needed.)

Followup CL will move type functions into methods, which will make it OO.

(I can't imagine doing this level of refactoring in Perl...)

Followup to:
Refactor IDL type handling into idl_types.py
https://codereview.chromium.org/192553002/

R=haraken
BUG=345137

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

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