Basic sourcemaps support

Maybe it's just me, but I find the name `SourceMap` a bit confusing here. Basically it's a `CompilerWithSourceMap`, isn't it?