This patch performs the following cleanup on JSInterface_IGUIObject:
- Replace JS_THIS_OBJECT deprecated in SpiderMonkey 61 with JS::CallArgs or JS::CallReceiver thisv(), refs D1699, https://bugzilla.mozilla.org/show_bug.cgi?id=1255800
- Unify the 7 copies of the JS_GetInstancePrivate call and its dependencies.
- Unify the 2 copies of the GetProperty and SetProperty attribute handling code.
- Unify the 2 copies of the GetEventName code.
- Move GetParent, GetChildren, GetName, GetEventHandler, SetEventHandler to a custom function.
- Move a conversion to ToJSVal<CRect>.
- Rename e to obj.
This makes JSI_IGUIObject::getProperty and setProperty agnostic of the handling per property,
thus enabled developers to change the way the properties and functions are accessed and set.