Initial implementation of JSON serialization.

There are some peculiar differences from the XML implementation because the name of an element is
not included within that element, but rather on the parent object. The main visible difference is
that JsonUtil's method parameters are a bit different from XmlUtil's.
Fix a misunderstanding in library loading
Add JSON tests.
Fix stringify arguments.
All tests pass.

I do notice though that this doesn't test writing, and I don't actually have any use for JSON
writing at the moment, so I haven't tested that yet.