Refactor PhantomJS renderer to be use promises internally
Refactor render backends to use promises