Replace NPObject usage in ppapi with gin
This replaces usage of NPObject in pepper with gin-backed V8 objects. It is unfortunate that this CL is so large, but there isn't a nice way to have the old implementation and the new one side-by-side.
There are 4 major parts to this CL:
1) Changing the HostVarTracker to track V8ObjectVars rather than NPObjectVars (host_var_tracker.cc).
2) Changing plugin elements (in plugin_object.cc) to be gin-backed objects.
3) Changing postMessage bindings (message_channel.cc) be gin-backed objects.
4) Changing the implementation of PPB_Var_Deprecated (ppb_var_deprecated_impl.cc) to call directly into V8.
BUG=351636
Committed: https://chromium.googlesource.com/chromium/src/+/
21f446ae855d60cc896b40cb9a3249ed07f150b3
Committed: https://chromium.googlesource.com/chromium/src/+/
ee49e63baf57e503bd71dfe61c8a80df63eac9aa
Review URL: https://codereview.chromium.org/
459553003
Cr-Commit-Position: refs/heads/master@{#292823}