fix Python representation for codepoints > 0xffff

`U+1F493` is shown as `\u01F493` which is incorrect. It should be `\U0001F493`. In general, the syntax is `\uXXXX` and `\UXXXXXXXX`. See http://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals