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.
I've removed the static caches and cleaned up the Generator code a bit.