Additions:
* Add a generic `register_preserialisation_callback` mechanism, which
allows users to teach canonicaljson how to JSON-encode custom types.
Breaking changes:
* Remove support for serialising `frozendict` instances. Use the new
`register_preserialisation_callback` mechanism to replace this
functionality if needed.
* Remove support for `simplejson` and the `set_json_library`alternative
json libraries.