Expose JSON parsing of an arbitrary ByteString

This is sometimes needed when the body of a request needs additional
processing, such as signature verification, before parsing the JSON
content.

----

I needed this in particular for verifying the payload of GitHub webhooks wrt to a given secret.