Make Unicode char-range bounds work.

Add some shamefully missing docstrings to the visitor.

backslash_hex does not actually match anything outside 0..256, but it's ideologically better to return unicode, so I replaced the chr with unichr there as well. (I'm unable to make re.match(r'\x2014', <anything>) match. If I could, I'd expand the definition of the rule to behave the same.)