Add `json_of` and `of_json` type-conv providers

Closes #6