Bug 837494 - re-implement `contentStyle*` using the new nsIDOMWindowUtils methods

- added `mod` module, with `attach`, `detach`, `attachTo`, `detachFrom` and `getWindowTarget`
- added `loadSheet` and `removeSheet` to `stylesheet/utils`
- added `Style` object in `stylesheet/style`
- replace usage of stylesheet services with `attach`/`detach` a `Style` object
- added `weak-set` module