Context Navigation

This module implements two template language syntaxes, at least for a certain
transitional period. OldTextTemplate (aliased to just TextTemplate) defines
a syntax that was inspired by Cheetah/Velocity. NewTextTemplate on the other
hand is inspired by the syntax of the Django template language, which has more
explicit delimiting of directives, and is more flexible with regards to
white space and line breaks.

In a future release, OldTextTemplate will be phased out in favor of
NewTextTemplate, as the names imply. Therefore the new syntax is strongly
recommended for new projects, and existing projects may want to migrate to the
new syntax to remain compatible with future Genshi releases.

Implementation of a simple text-based template engine. This class will
replace OldTextTemplate in a future release.

It uses a more explicit delimiting style for directives: instead of the old
style which required putting directives on separate lines that were prefixed
with a # sign, directives and commenbtsr are enclosed in delimiter pairs
(by default {% ... %} and {# ... #}, respectively).

Variable substitution uses the same interpolation syntax as for markup
languages: simple references are prefixed with a dollar sign, more complex
expression enclosed in curly braces.

Legacy implementation of the old syntax text-based templates. This class
is provided in a transition phase for backwards compatibility. New code
should use the NewTextTemplate class and the improved syntax it provides.