0.3.0

I’ve took the liberty of refactoring to comply with the npm best practices.

At first, classes are rewritten based on prototypical shared methods instead of dynamically created ones, which is according to [the tests](http://jsperf.com/object-create-method-vs-prototype-method) thouthands of times faster.

At second, polyfill code like `[].indexOf`, `Object.is` and other is cut off, because it’s not the responsibility of this precise polyfill to detect & cover environmental features. Also it might cause duplicated code if used with [autopolyfiller](https://github.com/azproduction/autopolyfiller) or [polyfill-service](https://github.com/Financial-Times/polyfill-service) to manage polyfills. Also it contradicts to the [separation of concerns](http://en.wikipedia.org/wiki/Separation_of_concerns) principle.

At third, now closurecompiler is used rather than builder.py, which gives the best js compression level.

Also I’ve rewritten tests on mocha, because It gives far more possibilities in TDD, like useful debugging info, inclusive/exclusive tests and common test contracts. 

Also README now has a browser compatability table.

And finally, updated the API to the latest MDN docs and added `WeakSet`.

Maybe there are some other less important fixes.