Explicitly report HTML as UTF-8 when loading into Maid

Previously, the trimText() function would wrap any HTML you gave it into
a generic encoding-neutral wrapper, and parse that with DOMDocument. The
problem is, we're not setting a default character encoding anywhere, and
in the absence of an explicit character encoding in the HTML,
DOMDocument's parser assumes the current mb_internal_encoding(), which
happened to leave at its default, latin-1.

Since all the text we handle internally should be UTF-8, I changed the
wrapper to include an explicit encoding in a <meta> tag, which makes
DOMDocument load the HTML as UTF-8, and return correct results.

Fixes #735.
Set a sensible mb_internal_encoding (UTF-8).

We should have done this much earlier. Not setting an internal encoding
explicitly means we'll rely on whatever the web server has configured,
but since the codebase is either encoding-agnostic, or assumes UTF-8,
this is really the only setting that makes any sense at all.