Refactor removeAllEventListeners into removeAllEventListenersRecursively

Some implementations of removeAllEventListeners would recursively walk
the tree and some wouldn't. Instead we can have a separate method for
the recursive walk. This also lets us remove all knowledge of this
memory leak/cycle breaking hack from ElementShadow and Element. Eventually
Oilpan will let us delete it entirely.

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

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