Minimal tag.

Include a tag from a tag library that contains a single tag that
contains HTML with no Stencil directives.

The directive handlers now accept a template. This is a page template, a
prototype page that defined the set of directives that currently being
rewritten. I now distinguish between the prototype page and the page
being generated. A directive now keeps a path that is the path to the
directive element in the template, so a handler can navigate that path
in the template if it needs to get a copy of the directive's body.

The directive handlers now accept a `rewrite` function that is a wrapper
defined by the main `rewrite` function that encloses the parameters that
must be passed to a subsequent `rewrite` that the handler function would
otherwise pass through and not change. This is to keep the function
signature from getting to unwieldy.

The compiler now gathers up a library property in the template that is a
map of tag names to tag directives. The `rewrite` function now passes a
library map and extends it with the library definitions included by an
"include" protocol namespace declaration.

In coming commits, I'm going to scan to calculate the length of a
directive body after calling rewrite, instead of assuming that the
length prototype directive body is the length of the rewritten directive
body. I've begun to implement the scanning with tags.
Merge branch `tag` into `travis-ci`.