Add basic StringLike/String implementation

This has the following functionality:
- Constructing strings from UTF-8 C strings
- Finding the length of a string in characters
- Finding a character at a given offset
- Comparing two strings

All operations are both NULL safe and Unicode aware