Fix performance issue in Xml_print.Utf8.normalize_html

Uutf.decoder and Uutf.encoder have a huge cost: they allocate a 64k buffer.
We use Uutf.String.fold_utf_8 and Uutf.Buffer.add_string instead.

Also, when the string is pure ASCII with no HTML special character, we
just return it.