- if the a browser global already exists, it should not be overridden
- use Object.defineProperty on the wrapped browser global
(and test "has" for cached properties)
- delete a property defined with Object.defineProperty
- methods that are not wrapped are proxied correctly
- the special onMessage wrapper should not wrap a listener that is not
a function
- test that a returned rejected Promise on the onMessage listener
is turned in the parameter of the sendResponse callback