Update for performance and stricter validation.
Update for performance and stricter validation.

* Consider non-shortest form utf-8 characters invalid.
* Only need to handle up to 4 bytes form for UTF-8 characters.
* Avoid unnecessary escaping of unicode characters
* Batch copy valid multibyte characters as was done with single byte
  characters previously.

whatthejeff/cuffs,vmg/houdini