Support ExtractTextPlugin and proper path resolution

* ExtractTextPlugin is supported by making the styleLoader configurable.
* The resolution of the bootstrap-path has been improved.
In JS you should always throw `Error` objects -- otherwise you won't get stack traces (the Error object constructor captures the stack trace, not the act of `throw`ing something)