Split generate_global_constructors.py from compute_interfaces_info.py

Just split generate_global_constructors.py from compute_interfaces_info.py,
with common functions (file handling and regex IDL parsing) in utilities.py

No logic changes, just split.
(Logic changes in followup.)

Rationale (for reference):
Currently compute_dependencies.py is very complex, doing 3 tasks:
1. Computing interfaces info (main function)
2. Computing global constructors
3. Computing event interfaces

This splits out 2 (global constructors); event interfaces will be a followup.

The complexity makes the code hard to understand and edit (previous CLs have
required extensive review), and makes code reuse hard (e.g., in
run-bindings-tests we need to use dummy files b/c we don't care about global
constructors). 

Most seriously, this makes it hard to use compute_dependencies to compute
dependencies at gyp time (needed to avoid full rebuilds), since it generates
excess files that we only want to generate at build time.

Followup to:
Rename compute_dependencies.py => compute_interfaces_info.py
https://codereview.chromium.org/171373006/

Split from:
Split generate_global_constructors.py out of compute_dependencies.py
https://codereview.chromium.org/173803006/

BUG=341748
R=haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168094 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix build failures with ENABLE_OILPAN.

r168062 broke Oilpan build because of lack of WTF::getPtr(RawPtr<>).

TBR=ch.dumez@samsung.com, haraken@chromium.org
NOTRY=true
BUG=

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

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