Allow for replacing the JSON module used

If there are no complex datatypes in the incoming/outgoing data, swapping `json` for `ujson` or `yajl` (etc.) may be an acceptable trade-off.

complex data types include both of those handled by the DjangoJSONEncoder -- indeed many of the JSON packages don't support a `cls` argument for providing an encoder, and either ignore (`yajl`) or encode in unexpected ways (`ujson` datetime encoding is to timestamp as an integer, and then it can't even `loads` the thing back correctly)

Thoughts?