IDL compiler: Inherited extended attributes

This implements inherited extended attributes in Python:
([ActiveDOMObject] and [DependentLifetime])

Notably:
* No changes in IDLs or Perl CG : these are inherited as currently
* No changes to Python CG either!
　(inheritance done during dependency resolution, so transparent to CG)
* Minimal changes to Python dependency resolver (just check if any inherited
　extended attributes and merge)
* Generic but explicit: we only inherited specified extended attributes,
　which avoids rebuilds for other changes.

The meat of the CL is adding 'inherited_extended_attributes' to
|interfaces_info|, and computing this along with computation of ancestors.

This reuses the existing data structure, avoiding adding additional data
structures (e.g., previously proposed sets, which would be non-generic
and add complexity).

The relevant test is removing [DependentLifetime] from test interfaces
that should actually inherit it (from Node).
Without this CL, Python fails the tests; with this CL, it passes.

Also refactoring of compute_dependencies.py to use a few globals,
instead of passing them around in every function.

See discussion in earlier CL:
Eliminate InheritsExtendedAttribute check for [ActiveDOMObject]
https://codereview.chromium.org/130553002/

BUG=239771
R=haraken

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

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