aw: Make repeated detachGLFunctor work
detachGLFunctor is called every time the webview is detached (ie when
hardware acceleration is torn down and cleaned up). This can happen many
times since webview can be attached and detached many times.
However the implementation in the glue layer only does something on the
first call.
Also in general, it's a bad pattern for CleanupReference to have strong
java refs.
It's not necessary to call detachGLFunctor on gc; detach is enough. So
move all that code out of the DestroyRunnable of the CleanupReference.
This is a long standing bug since the first release of chromium webview.
BUG=
Review URL: https://codereview.chromium.org/
872403006
Cr-Commit-Position: refs/heads/master@{#315051}