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