Fix #1

Fix string methods for non-BMP characters
Add tests for non-BMP characters
Fix utf8.fromChr for non-BMP characters