Fenced Filters: HTML support, registration system.

No filters are defined here.

The caller should enable the `EXTENSION_FENCED_FILTER` extension, and
use `RegisterFilter(foo, fooHandler)` to make a filter available.  The
filter simply needs to satisfy an interface:

    CreateHTML(io.Writer, []byte)

and write to the first argument the results of processing the contents
of the second.  The filter is responsible for creating ancilliary
support files, such as images.