changed too many things...

changes:
	- error on encoding circular references
	- support for JS unicode escapes (\uFFFF)
	- NaN -> null & inf -> null (like original JSON impl.)
	- improved lua table to json array detection
	- tiny speed up with multi-byte peek() & read()
	- on decode: report exact location of syntax error
	- formatting (sue me)