Support postgres column type 'json'
@extesy -- peewee does not currently come with a JSON field type (if it did, it would be part of `playhouse.postgres_ext`).  It sounds like you may have started an implementation of one, otherwise I'm not sure how you have been using the field?  Additionally, are you registering a json adapter or using any psycopg2 APIs?

The more information you can provide the better, thanks!
 The only thing I came up so far is to override default psycopg2's json handler by `psycopg2.extras.register_default_json(loads=lambda x: x)` but it looks like hack, not a normal approach to the problem. I've been using peewee only and this workaround is the only case where I use psycopg2 directly.

I think you are right and new JsonField needs to be added to playhouse.postgres_ext, similar to existing HStoreField, etc.
 I've added a _very minimal_ Json field.  I plan on adding support for the `->` and `->>` operators, but since these are chainable I'd like to think about the implementation a bit.
 633e5307d0fe19b3e299f2d6c5d7cd3ee1fd24ca

Currently there is a problem with this column type because psycopg always unpacks json column data into a dict during load, and packs it during save (see _json.py file from psycopg2).

When peewee tries to interpret this dict as text, this causes python to serialize it, and this serialization makes it json-incompatible now so you can't save it back anymore.

Two possible alternatives are: either do what psycopg is doing and always treat this column as dict instead of string, or wrap it into json.dumps before exposing to the user and json.loads before passing to psycopg level. I'd personally prefer first option - seems cleaner.
