IDL compiler: Inheritance

This adds support for inheritance (ancestors that aren't the parent).
Since ancestors are now stored in interface_info, the compiler change
is very simple: read the info and use that as the list of ancestors.

The complexity of this patch is the *testing*.
To test inheritance for the 4 real interfaces that we need to support
(AudioBuffer, Document, EventTarget, Node), run-bindings-tests needs
information about *real* IDL files, not just the test ones.

This is done by running compute_dependencies twice, once on the real
IDL files, once on the test IDL files, and then merging the information.

The specific test case is TestNode.idl, since Node inherits from EventTarget.

Followup to:
IDL compiler: Compute ancestors in compute_dependencies.py
https://codereview.chromium.org/130683002/

BUG=239771
R=haraken

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

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