Create render(annotation), adapt to OAAnnotation

Note that render does not return a string or response object, but an
object that jsonify can process. This can be changed when we wish to
support formats that are not JSON-based.

Also the content-negotiation/rendering is still only done on endpoints
that are read-only, because to use writable endpoints one needs to
understand the annotator-specific format anyway.
Add some documentation