WebAudio: Fix AudioNode leak in a case that AudioNode is not disconnected from the graph explicitly.
The main purpose of this CL is to introduce ThreadState::markAsZombie
and ThreadState::purifyZombies, and to apply them for WebAudio.
Objects marked as zombies are not finalized until purifyZombies is
called.
This CL also adds MarkingTasks, which enable to run tasks before/
after Oilpan marking. AudioContext implements MarkingTask in order to
call purifyZombie before marking, and simplify AudioContext::trace.
BUG=434136,455993
Review URL: https://codereview.chromium.org/802593004
git-svn-id: svn://svn.chromium.org/blink/trunk@190366 bbb929c8-8fbe-4397-9dbb-9b2b20218538