fix utf-8 encoding, support non-bmp, 5,6 byte encodings, iconv buffer full handling - fixes fay utf8.hs test