Run tag name through escape filter to avoid invalid HTML

If a tag contains characters like <> or &, we currently generate invalid HTML.
This is easily fixed by sending the tag through the jinja escape filter.

(This bug is not theoretical, I hit it when using C++ template names for tags,
 like "boost::variant<>".)
Merge pull request #1267 from mlang/escape-for-html

Run tag names through escape filter to avoid invalid HTML