Improve generation performance by not blowing the cache for every input file.

HandlebarLoader keeps a cache of mustache templates to speed up resource loading.
This makes the cache static over multiple input files.

Timing the old code
$ time java -jar $oldjar -v  -l scala $files &> /dev/null

real	0m15.544s
user	0m20.705s
sys	0m0.758s

Reusing the cache:
$ time java -jar $jar -v -l scala $files &> /dev/null

real	0m5.239s
user	0m8.884s
sys	0m0.360s

TODO: add benchmark scripts.
any chance of passing the cache into HandlebarLoader instead of making it a global? Global state will make us sad at some point.