Pass file paths to render task instead of file content.

Previously, most add-ons passed file contents to the Celery render task
as a string, which has the potential to flood the message broker with
data. This patch saves files to a temporary directory on disk and passes
the file paths to Celery instead. Temp files are deleted after rendering
is complete.

Thanks @icereval for writing this with me.
Merge branch 'hotfix/0.21.9'