start refactoring strings

* they should be UTF16, but right now I only support the core ASCII code points
  i.e. with 0 on the second byte or something like that