Support converting strings to JSON values.

Fix a bug in the lexer.

src/json.m:
	Add from_string/2 which parses JSON from a string.

	Add det_from_string/1 which is a det version of the
	above.

src/json.string_reader.m:
	A simple string reader stream used to implement the above.

src/json/json.lexer.m:
	Fix a bug: do not return EOF if we read a number that
	is immediately followed by EOF, return the number we
	just read.

tests/test_marshal.m:
tests/marshal.exp:
	Extend this test to cover converting JSON to and
	from strings.