Encode strings with CESU-8

Related to #11.

We need to figure out in which cases (invalid data?) this will raise errors.
This can only happen if you use `Duktape.enc` though. Every method in JavaScript core will generate proper UTF-8 in Duktape.