I've re-written the parts of `html_for_tweet()` so that it handles
all the replacements of URLs, mentions, symbols and hashtags better.
Mainly to fix#447 but it should be a little more robust generally.
Shamelessly cribbed from https://stackoverflow.com/a/25514650/250962
Passes all tests, but I haven't checked it beyond that.
Fixes#447