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.
New code pattern? Quick grep shows we didn't use such before. So, should we now?