[WIP] Render all pages before printing across all browsers

To properly solve issue #3445, PDF.js has to render all pages when the user wants to print something.

I have [figured out](http://tjvantoll.com/2012/06/15/detecting-print-requests-with-javascript/) how to detect print requests, and implemented it in the first commit. This commit introduces the possibility to fix the printing behaviour for the following browsers:
- Firefox 5 - 17 (not needed in 18+ because of mozPrintCallback)
- Chrome 9+
- Safari 5.1+
- Internet Explorer (9+)
- Opera 15+

**I have only implemented the print detection, what remains is to implement "TODO: PDFView.renderAllPages();".**
As a response to my question "What's the least expensive way to render all pages at once?", yury responded "remove image decoding and text layer generation". This answer seems reasonable, but I have yet to figure out how to convert the concept to code.

- [x] Detect print requests
- [ ] Render all pages on print (EDIT: synchronously. Is that possible? If not, see [this comment](https://github.com/mozilla/pdf.js/pull/3475#issuecomment-21004565))