As we require the template to be a `string` we now throw an error when given
any other data type. This should provide the developers with a meaningful
error rather than a cryptic TypeError from the murky depths of our source code.
Fixes#464
Covers the project with browser tests, not only V8 via node/iojs. Tests are runned with [zuul](https://github.com/defunctzombie/zuul) which
provides simple local browser testing, aswell as cloud testing on multiple browsers with [saucelabs](http://saucelabs.com).