Refactoring to move page display code into separate class

Idea is to create reusable PDFViewer that will not have dependency on the PDFView (toolbars, find controller, etc).

- [x] Move pages container logic into PDFViewer (?) out of PDFView
- [x] Move thumbs container logic into PDFThumbnailsViewer (?) out of PDFView
- [x] Remove all dependency on PDFView in PDFViewer and classes it's using
- [x] Remove any rendering logic from PDFView
- [x] Isolate PDFPageSource logic and use in PDFViewer, PDFThumbnailsViewer, PDFFindController
- [x] Refactor PresentationMode (minimal, to remove dependency from PDFViewer)

NOTE: The refactoring shall not include any optimization or bug fixes
Doesn't this line need to be moved up to: https://github.com/mozilla/pdf.js/pull/5295/files#diff-dd42e9b2d2a652b8e312efa567698aa6R1082?

I've found one issue, that I believe is connected with this. **Steps to reproduce:**
1. Open the viewer locally (http://localhost:8888/web/viewer.html).
2. Scroll down, to e.g. the fourth page.
3. Open a new tab, and open the viewer again (http://localhost:8888/web/viewer.html).

**Actual result:** The new viewer opens at the first page.

**Expected result:** The new viewer opens at the last viewed position (as stored by the `ViewHistory`), i.e. the fourth page. *Note:* This is the behaviour of the current `master`.