Previously, our Error.convertStackTrace function was provided by coffeestack,
which only works for coffee-script. This adds a dependency on 'source-map-support',
which works for any source file with inline source maps.
This also refactors the code for registering our compilers (coffee-script,
typescript, and babel) so that caching logic is shared.