Improve performance of UTF16 encoded len for bytes and strings
Improve performance of UTF16 encoded len for bytes and strings

Calculating the length of non-ASCII UTF8 strings/bytes encoded as UTF8
improved by roughly 70%.  There is a regresion of roughly 12% for ASCII
encoded strings - this will hopefully be resolved in a future commit.

benchmark                                             old ns/op     new ns/op     delta
BenchmarkUTF16EncodedLen_TenASCIIChars-8              12.5          11.9          -4.80%
BenchmarkUTF16EncodedLen_TenJapaneseChars-8           67.6          18.6          -72.49%
BenchmarkUTF16EncodedLen_LargeASCII-8                 10984         9464          -13.84%
BenchmarkUTF16EncodedLen_LargeUnicode-8               12013         9735          -18.96%
BenchmarkUTF16EncodedLenString_TenASCIIChars-8        9.95          11.2          +12.56%
BenchmarkUTF16EncodedLenString_TenJapaneseChars-8     63.2          18.6          -70.57%
BenchmarkUTF16EncodedLenString_LargeASCII-8           10974         9437          -14.01%
BenchmarkUTF16EncodedLenString_LargeUnicode-8         11671         9693          -16.95%

charlievieth/utfconv