Add Preprocessor Loader that allows pre-filtering template code.

This allows, for instance, producing more readable output. See issue #1005.
please use 2 separate variable declarations instead