allow binary data in string literals

I experimented with this and gcc gets confused. Per the C++11 standard, a hex escape is:

    hexadecimal-escape-sequence:
        \x hexadecimal-digit
        hexadecimal-escape-sequence hexadecimal-digit

so it may continue for more than two characters. So something like `\xFD` followed immediately by a digit or hex digit will have gcc continue parsing. This elicits `"warning: hex escape sequence out of range"` from gcc.

Possibilities: following the hex escape with `""` or using octal digits might work.