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

 - modified `getTargetWindow`, added `document`'s type and remove the exception in favour of `null`
 - moved `loadSheet` and `removeSheet` to the new `stylesheet/utils` module; added `isTypeValid` to it.
 - moved `content/style` to `stylesheet/style`
 - added `lang/weak-set` module
 - added documentation for `content/mod`, `stylesheet/*`.