hello, this patch adds support for surrogate pairs in rune16 functions. this way unicode code points between U+10000 and U+10FFFF can be correctly encoded and decoded. i wrote this patch because runes like emojis gets corrupt when written to the snarf buffer, due to clip(read|write) using rune16 functions and those functions not being capable of handling those runes. patch is attached. (also fuck utf16)