Document render agent

This branch contains the document render agent and the changes needed to support multiple render agents.