Add Preprocessor Loader that allows pre-filtering template code.

This allows, for instance, producing more readable output. See issue #1005.
nope. It does not make sense to extend the chain loader. The preprocessor is not a chain, and it has no reason to have a ``addLoader`` method.

thus, the logic you need is not the same, as there is a single nested loader involved. So you cannot reuse the same. you need similar code, not duplicated code