For ES5, the JS global object is "window", so any properties redefined on window will impact all the JS globals since it's the same object. This isn't just a matter of the window object "shadowing" the JS global object; deleting a JS global prop from window also deletes it from the JS global object.
Isn't support for deleting JS global objects a matter of implementing `dispex_static_data_vtbl_t`'s `delete` for `GLOBAL_SCRIPTVAR` properties?