bugfix + test for unicode support

really, just `s/iolist_to_binary/unicode:characters_to_binary/`. Who knows if that's correct, I'm just a dog at a computer.

Tested + dialyzed. 
In this case I'd use `characters_to_list` so that they are already codepoints. `binary_to_list ( characters_to_binary ...` will probably break. Same below on L178.