Add partial unicode support

The correct solution to this problem will be to rewrite the lexer/parser stack to handle UTF-8 source. Since that's not going to be finished very soon, here's a solution which makes things not break on individual unicode characters in chars or strings. 

It currently does not handle strings with several consecutive unicode characters, because deciding where one character ends and the next begins is nontrivial and better handled when reading in the source rather than during lexing. But this fix means we can have snowmen in our examples, the way our docs claim is possible.