New css loader plugin

This is a proposal for a new css loader plugin that would inject plain css files instead of js-wrapped ones as it is done today.
It is based on the XStyle's css loader (https://github.com/kriszyp/xstyle/blob/master/core/load-css.js).
The stylesheets are loaded via injected ```<link>``` tags and the plugin will notify the module when the stylesheets have been loaded. Since not all browsers support the ```onload``` event on ```<link>``` elements (concretely, it's all webkit-based browsers with a webkit build <= 535), it also provides an alternate code path to check when the stylesheet is ready using a timeout...

This css loader pluging also contains the code required by the build system to build css layers (cc @clmath).
I agree there are some cases where it makes sense to have separate functions.

If you had a function like `waitForLink(link, cb)`, that called cb when the link finished loading, that would make sense to me.   But the actual `loadHandler()` function doesn't do that.   It only calls the callback in certain cases (ie, when the browser supports link.onload or link.onreadystate).   So I don't like this as a function much.   It also has no documentation.

Ideally, if you wanted a function, I would make one called loadLink() (or something like that), that takes a URL, and returns a promise that resolves when the link has finished loading.

Also, for `createLink()` I think it's weird having a function because you end up doing this:

```
var link = document.createElement("link");
link.rel = "stylesheet";
link.type = "text/css";
link.href = url;
```

... except that the first three lines are in a function and the last line isn't.   That again is a bad split point for me.