Add UTF16 and Shift-JIS decode/encoders

May not entirely be perfect, not enough error checking.  Shift-JIS encoder is not complete but does most characters.

All of them (ShiftJIS, UTF16LE, UTF16BE, UTF8) conform to the same basic interface.

-[Unknown]