bindings: Convert DOMObjectHolder user to CustomWrappableAdapter

This is *not* a correctness fix but merely a refactoring to a different
approach.

Both, DOMObjectHolder and CustomWrappableAdapter, serve the same purpose: They
keep alive a DOM object from a JS object. Since CustomWrappableAdapter is
already used for JS callbacks it fits well and replaces one use of custom weak
callbacks.

On top of that, CustomWrappableAdapter creates a V8 Persistent instead of a
"temporary" Oilpan root in a hashmap. On master there's no real difference as
both are root sets for Oilpan visitation. Unified heap does not need to visit
V8 persistents as roots, so it's cheaper in the new world.

Change-Id: I12ddde7e6ec1a21204826c8c4d35acea24965e0f
Bug: 843903
Reviewed-on: https://chromium-review.googlesource.com/c/1396023
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620409}
9 files changed