Changes:
Javascript "GUI Object", counterparts to C++ objects, are now Proxy Objects. Reasoning:
- We don't have any actual JS object, so our "JS GUI Objects" are really just proxying calls to the C++ objects. It makes semantic sense.
- SM devs recommend it (see public/Proxy.h comment on overloading JSClassOps or Proxy objects)
- On that note, DOM objects are implemented as Proxies in Firefox, and our GUI objects are basically that.
- Our current system no longer exists in SM60, breaking #5859
See D1781 for a slightly longer argument.
This lets us remove the D2136 hack and fix D1781 properly, which will be done in later diffs.