IDL compiler: Partial interfaces (basic)

This adds support for partial interfaces to the Python IDL compiler.
(There are other features, which I'll do in followups.)

The changes to the code generator are minimal;
the main complexity is in include path handling (partial interfaces require
an include), which we've centralized in compute_dependencies.py

This CL distinguishes full paths and include paths consistently
(for interfaces, partial interfaces, and implemented interfaces),
and stores the include paths for dependencies, so the CG can just read them.

The main changes to compute_dependencies are pretty minimal:
just compute and store include_path for partials and implemented interfaces, not just main interfaces.


Notes:
* The added test file (partial interface) only results in a dummy generated file, so this won't bloat diffs.
(In future I'll get rid of these dummy files.)
* The Perl code (HeaderFilesForInterface) adds these includes for *every* member of a partial interface or implemented interface, which is v. redundant.
This simplifies and clarifies it by doing it once, at the overall CG level.

Also a bit of cleanup in compute_dependencies.py:
(I can split this off if that helps review.)
* Rename 'file_name' => 'filename' for consistency (both were in use)
* Rename 'generate_*' => 'write_*' for functions that write a file (both were in use).
* Organize and label sections
* ...and a few comments on tricky parts

Previous preliminary CL:
IDL compiler: Move include path handling to compute_dependencies
https://codereview.chromium.org/137993002/

BUG=239771
R=haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@165263 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Upgrade align-self and align-items parsing to CSS 3

This change migrates the 2 properties to the CSS 3 Alignment
parsing. The new parsing is identical to how we parse
'justify-self'. The 2 properties need to be migrated together
as they are used in tandem in CSSComputedStyleDeclaration.

This change also removes EAlignItems as it is now unused.

BUG=249451

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

git-svn-id: svn://svn.chromium.org/blink/trunk@165264 bbb929c8-8fbe-4397-9dbb-9b2b20218538
CSS Parser: Treat var() as function instead of string

This patch changes the CSS grammar to parse var() references as
functions instead of string values. This is in preparation to add
an optional fallback value parameter to var().
This patch does not change existing behaviour.

BUG=330127

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

git-svn-id: svn://svn.chromium.org/blink/trunk@165265 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL compiler: sync Python to r165262

Python side to:
Add use counters for using Attrs as Nodes.
https://codereview.chromium.org/127723002

There are other cases (for interface Node itself), which I'll handle
when finalizing Node.idl.

BUG=239771
TBR=haraken
NOTRY=true

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

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