Removes PresentationMode dependency from PDFViewer
Removes any usage of PDFView in the PageView
Moves constants to avoid dependency on PDFView
Marks some private methods in PDFViewer and PDFThumbnailViewer

Conflicts:
	web/pdf_viewer.js
Adds types definitions (jsdoc) for the PDFViewer code.
Renames and refactors PDFView to PDFViewerApplication