Improve documentation+unit test coverage and use Unicode string output by default.

escapeString was changed to just forward any UTF-8 sequences instead of replacing them with ASCII escape sequences. This still needs to be made optional in the interface.