Bug 789056: Document api-utils/system/events and use same names than nsIObserverService
Bug 804935 - TypeError: window.tabs is undefined

It was a regression during fennec implementation of windows and tabs. A `ChromeWindow` was used instead of the expected `BrowserWindow`.
Bug 783743 - addon-page should work with "index.html?[stuff]" and "index.html#[stuff]" (and both together)

- Replaced usage of `inContentWhitelist` with `hideChromeForLocation` to have more flexibility about URLs to hide
adding svg tests, the widget one is failing..
using svg images for widget content no longer fails
Update hidden-frame implementation.
Make frames contexts executable.
Handle subsequent loads in frames properly.
Looks like previous code was not triggering onReady event on subsequent loads, so do we do the same.
Use `iframe` instead of `browser` since location change in the browser
does not seems to trigger `inner-window-destroyed` notifications.
Use utility function to obtain innerWindowID.
Output custom logging during automated tests.
Implement JEP-Disposable.
Actually setup a listener for disposable instances.
Add more warning patterns to be ignored.
Implement tests for disposables.
Add missing license header.
Make data properties overridable on the instances.
Make data properties configurable to avoid incompatible changes.
Properly clean up after tests.