(scanner) Fix \uXXXX escape sequence handling bug in strings
This would previously be supported, but the strings would propagate as-is through the compiler and be converted to their unescaped values at runtime of the compiled program. This had the downside of not being able to distinguish between ASCII-only strings and strings containing Unicode-escaped characters outside the ASCII range, causing runtime errors. By handling this in the compiler (on the Scanner side), we make such strings work as expected.