Rewrote project.

The parser and compiler have been rewritten for easier future
modification; as a result, compilation is slightly slower, but rendering
times should be unaffected.

The rewrite also changes an important aspect of the syntax; inline
elements now become the context for indented elements. That is,
originally, this:

	a span
		"Link"

would have become `<a><span></span>Link</a>`; it’s now rendered as
`<a><span>Link</span></a>`, which is a behaviour more consistent with
what would be expected at a glance.

Support for else has been restored, and the compiler now checks for
circular inclusion. Caching of included templates is next.