[Engine-VBulletinChatbox] Handle vB errors more gracefully.
[Engine-VBulletinChatbox] Send: HTML-escape non-BMP characters correctly.

The 2-byte nature of char requires UTF-16 encoding for correctness.
[Engine] Parse non-BMP HTML escapes correctly.

Depending on some obscure configuration parameter, WebUtility.HtmlDecode
supports Unicode characters beyond U+FFFF or not. Reimplement its
functionality, decoding non-BMP characters correctly.