DevTools: follow up to r160752: do not multiply emulation tabs

TBR=vsevik

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160804 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Reland the patches. All known SVGProperty memory bugs were resolved.

This patch introduces the new reference graph for SVG*TearOffs to resolve Node leaks. The graph is illustrated below:
https://docs.google.com/presentation/d/1cKqC9wc_Ca5UTSCNE0DHQeXRxEtkerIxnp1MIIK5Jqk/edit?usp=sharing
In the new reference graph, references from parent to child are made strong ref, and references from child to parent are made weak ref. For V8 references against TearOffs, a hidden reference to the context V8SVGElement is added to its wrappers to ensure contextElement() is alive while TearOffs are alive.

This patch also contains fixes for bugs exposed from the reference graph change. SVGAnimateElement will ensure stopAnimValAnimation call even if it is destructed while animation is active. SMILElement/SVGAnimateElement is modified to observe lifetime shadow tree instances in addition to the lifetime of original element.

[Reland] The animatedProperties are now detached by SVGElement::cleanupAnimatedProperties, called just after the most-derived-classes-dtor, while their animatedProperties are alive. This detach was previously done inside ~SVGElement in previous patches and caused various problems by referencing dead members of derived classes.

BUG=270000
BUG=294464

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160806 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL compiler: remove empty statement from void methods

Noticed another case of blank lines in void methods when implementing
optional arguments; this fixes it in Perl,
and means we can skip it in Python.

Followup to:
IDL compiler: remove blank line for void methods
https://codereview.chromium.org/48003002/

BUG=239771

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

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