Provide aeson-based JSON support

Since it's very likely that `aeson` will be part of the next Haskell Platform it would be great if `postgresql-simple` could provide `aeson`-based JSON support out-of-the-box.

The first patch adds `ToField` and `FromField` instances for the `aeson` JSON `Value` type.

The second patch additionally adds the `toJSONField` and `fromJSONField` functions which can be used as the default implementation for `toField` and `fromField` for Haskell types that have a JSON representation in PostgreSQL.