Use a new canvas if restarting the render

There are problems with the page appearing upside down if a new render
starts while an existing one is goingi on. This can be solved by using a
different canvas for the two renders. See
https://github.com/mozilla/pdf.js/issues/2923
Return a promise when loading the pdf