nxml: Support for utf-8 encoded input
nxml: Explicitly use python2
nxml: stricter whitespace handling

The rules on whitespaces are:

Always strip leading indentation whitespaces, whether in verbatim mode
or not.

All leading whitespaces are ignored in blocks started with a newline
opener (called "implicit opener").

All trailing whitespaces are ignored in blocks ended with a newline
closer (called "implicit closer").

Preserve leading whitespaces in blocks with a same-line explicit opener
"<tag|".

Preserve trailing whitespaces in blocks with an explicit closer.

With these rules, it is possible to generate XML with precise control of
where white spaces appear. With HTML output, this is important, as all
sorts of corner cases exist where whitespaces are actually relevant
(e.g. a newline before a </pre>).

The default behavior with implicit openers and closers does the "right"
thing to generate HTML.
nxml: --lang argument instead of --html5 and --xml
nxml: add <%set directive to set environment variables such as 'lang'
nxml: --set option for env override, support idiomatic stdin/stdout args
nxml: specify the ElementTree output method for html

We need explicit close tags for HTML, in general.