Since the `u` flag was added to the whitespace regex in TextConverter
(7f03acf), `\s` also matches U+00A0, so ` ` and literal non-breaking
spaces were turned into regular spaces. Leave U+00A0 out of the collapse.
EmphasisConverter used trim(), which does not strip U+00A0, so a
non-breaking space at the edge of <em>/<strong> would now end up inside
the delimiters (`**Total: **`), where it stops them from flanking the
text. Strip it there too; like before, it becomes a regular space outside
the delimiters.
Fixes#258
The link text goes through TextConverter, which escapes `&` to `&`,
while the href is the decoded attribute value, so `$href === $text` never
held for a URL with a query string like `?a=1&b=2`. Undo that escaping
before comparing. Only `&` is undone: `<` and `>` cannot appear in an
autolink, so those links keep the inline form.
Fixes#248
The ordered-list numbering used intval() on the "start" attribute inside a
truthiness check, so a valid start="0" was treated as absent and the list
restarted numbering at 1. Detect an explicit numeric start attribute with
is_numeric() instead, so <ol start=\"0\"> renders as 0. 1. ...