Improved HtmlFormat.escape performance

Escaping is now done lazily when the Html object is given a
StringBuilder.  It also uses a while loop instead of a foreach loop.
Measured performance improvement is up to 40%.