More transcoding support for Unicode.

* UTF-16 and UTF-32 should be done now.
* UTF-8-MAC still missing.
* General UTF-8 may be done already.