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
You might want to add `this._notifyStateChange();` here as well, because if switching to fullscreen fails the viewer would stay in the `PresentationModeState.CHANGING` state.