chore: source maps for Karma/Gulp

This changes the API of `tools/transpiler/index.js`. I believe it’s 
not used anywhere besides `gulp-traceur.js` and
`karma-traceur-preprocessor.js`. Instead of returning the transpiled
string, `compile()` returns a result object such as:
```js
{
  js: ‘transpiled code’,
  sourceMap: null || {}
}
```

Closes #20
interesting trick to bundle the source map with the original code.

we should keep an eye on how this impacts performance of karma. wouldn't making the source map external, make the maps to be downloaded lazily when they are needed by tools?