adding isomorphic support

I really know this spec is for browser.
but I believe make it isomorphic works fine for developer.
if I use this API on both browser and server.
it will help boost javascript isomorphic.
ex) 
- sharing logic in node.js.
- running test on cli without heavy headless browser.

Again I suspect this might bloat the client side code when compiled with browserify – you might be shipping an `XMLHttpRequest` polyfill to browsers… which I don't think would ever be used