Fix wide char handling in wide string literal
Fix wide char handling in wide string literal

This commit fixed the problem that TCC directly cast each byte in wide string literal to wchar_t, which is wrong when wide string literal contains real wide chars.
It fixed the problem by assuming input charset is UTF-8, and wchar_t stores wide chars in UTF-16 (Windows) or UTF-32 (others).
The UTF-8 decoder is coded according to The Unicode Standard Version 10.

mingodad/tinycc,mirror/tinycc,code4game/tinycc,avih/tinycc,avih/tinycc,code4game/tinycc,mirror/tinycc,avih/tinycc,mirror/tinycc,code4game/tinycc,mingodad/tinycc,mingodad/tinycc,mingodad/tinycc,mirror/tinycc,avih/tinycc