Combine `Read` and `Write` into `Format`

Trait `Format[A]` has both `Read[A]` and `Write[A]`. Inner object
`Implicits` is now top-level trait/object `DefaultFormats` so users can
use implicit readers/writers with single import or mixin.