+mstarzinger to comment on usage of per-isolate state. He suggested we need
restructure this to create the WeakMaps in a way that doesn't tie them to a
context, but I'm not clear what the best way to do that will be.
Drive-by-comments: As discussed offline with Andreas, I think we will need a
separate "InternalWeakMap" that builds on the same backing functionality as
WeakMaps but isn't bound to a specific context. Unfortunately I am not yet
about the specifics of that.
Minimal approach: use ObjectHashTable directly from object-observe.js via a
helper runtime functions. Pretty ugly, in that we're storing non-JS objects
properties of a real JS object, but seems to work.