Switch unit test suite to Karma

This PR switches the unit tests to run in real browsers using Karma, not PhantomJS.

The `Function.bind` polyfill has also been removed as a consequence.

Closes #57 
I figured that even though it's only one line it was still complex enough to be worth wrapping in a method. You could easily type the encoding string wrong or miss out the `new` for the constructor here when typing in other places. Putting it in one place reduces the chances of introducing new bugs in the future.