add json.dumps and json.loads hook

Add properties for json.dumps and json.loads functions in JSONParser
and JSONRenderer class respectively. The classes can be easily extended
by providing custom dumps and/or loads functions.

When working with MongoDB and PyMongo, the data retrieved from the database contains some types that json.dumps and json.loads can't deal with. However, bson module, which comes with PyMongo, provides two wrap functions bson.json_util.dumps and bson.json_util.loads that solve the problem. By providing the hooks, the JSONParser and JSONRenderer can be easily extended to deal with it.
Increasing the size of these methods while adding an extra hook isn't a good trade-off. This adds slightly easier overriding for the `json.loads` use-case, while making other overriding use-cases more difficult. (More code for them to duplicate.)