Simple json printing using existing print framework.

I thought I would have a quick go at implementing a json.dumps printer using the existing print framework.  See discussion in issue #804 for background.

It should print any valid json-able object correctly.  It doesn't handle non-json-able objects correctly, eg numbers as dictionary keys.

I've called the module `_json` so that its only function (dumps) can be used by the proper `json` module to implement a full module.  We can add loads to `_json` in the future.
It's kind of neat, don't you think?  The alternative is to put a lot of ugly #ifs everywhere.  But of course this new technique relies on an optimising compiler, and so, if used, one would need to make sure that the code still compiles correctly in debug mode.