Shorthand <<print>> and <<display>> macros

If a macro name is not found to be a registered macro, then the
following is now performed:
* If the name begins with '$', then it is converted to a <<print>> macro
with the name as the parameter.
* If the name matches a passage name, then it is converted to a
<<display>> macro with the name as the parameter.
* Otherwise, the usual error is rendered.
This allows, for instance, <<$red>> as a shorthand for printing the $red
variable, giving Twine code a more "template-like" feel. More
complicated substitutions, such as function calls, still require the
full <<print>>, though.
(Similarly, the shorthand <<display>> differs from the longhand one in
that, for obvious reasons, variables can't be used for the passage
name.)