Bug 937317 - Make TabChildGlobal implement nsIGlobalObject. r=bz
Bug 937317 - Factor out the shareable parts of CallSetup into AutoEntryScript and AutoIncubentScript. r=bz
Bug 937317 - Implement basic script settings stack machinery. r=bz
Bug 937317 - Manipulate the script settings stack from the RAII classes. r=bz
Bug 937317 - Implement and expose GetIncumbentGlobal. r=bz,luke
Bug 937317 - Pass the entire CallbackObject to CallSetup. r=bz

We need this so that we can grab the incumbent global that we stashed on the
CallbackObject.
Bug 937317 - When invoking a callback object, restore the incumbent script settings object from when the callback was created. r=bz

See the 'incumbent script' stuff in the WebIDL spec.
Bug 937317 - Return null from ToWebIDLCallback if one doesn't already exist. r=bz
Bug 937317 - Replace all instance of null cx pushing with AutoSystemCaller. r=bz

This is an easy bonus chunk of the work to phase out cx pushing in the browser.
Bug 937317 - Remove unnecessary AutoSystemCaller usage. r=bz

See bug 937317 comment 38.
Bug 937317 - Tests. r=bz