Generate Source Maps

Allows the precompiler to optionally generate source maps for the templates.

This is a breaking change for any users who are tightly integrated with the JavascriptCompiler class as the intermediate code format has been changed to use an object tree rather than outright string concatenation.