Use overloaded operator for strings. Avoid an unnecessary conversion.
Simplify input and unicode handling some more and reduce the memory footprint and overhead considerably, especially for UTF-8.