Output format plugin

This is early work. I just wanted you to have a peek to the direction this is turning into.
I think ``getUrl()`` should get the ``$request`` in the signature as it previously did.