Support UTF-16 surrogate pairs in string literals.

The JSON writer does not currently escape non-ASCII characters, so I won't
update the test suite properly until after that is fixed.

src/json.json_lexer.m:
	As above.

src/json.m:
	Add an error for unpaired UTF-16 surrogates.

tests/invalid_unicode_char.exp:
	Conform to the above change.