Additional documentation in JSON.
Made Format a newtype.

It still embeds a string, but comparison is case-insensitive.
IsString instance for Format.