e0044b25

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Add object-context XCodec sibling (XObjectCodec)

Add XObjectCodec, the object-context sibling of the value-context XCodec,
so ObjectCodecs can be extended too. Like XCodec it ties its value to a
phase-chosen type (XObjVal) via a Coercible constraint, keeping input/output
representational. The aeson interpreters gain per-context handlers
(ToJSONExt/ToEncodingExt/ParseExt now cover both value and object), and the
extension test covers a value and an object extension roundtrip.