Fix Symbol fonts without font file but with Encoding dictionary (issue 5238)
Moves watchScroll and getVisibleElements from PDFView
Moves thumbs logic into PDFThumbnailViewer.
Moves viewer code into PDFViewer and some code from PageView.
Moves pdfDocument.getPage/getTextContent requests out of PDFView
Moves rendering queue logic from PDFView
Removes PresentationMode dependency from PDFViewer
Removes any usage of PDFView in the PageView
Moves constants to avoid dependency on PDFView
Disables hash options when PDFBug is disabled and fixed streaming regressions.
Merge pull request #5346 from yurydelendik/streamfix

Misc follow ups on the streaming requests
Merge pull request #5250 from Snuffleupagus/issue-5238

Fix Symbol fonts without font file but with Encoding dictionary (issue 5238)
Use |toUnicode| when creating the glyph map for standard CIDFontType2 fonts without embedded font file
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.
Merge pull request #5295 from yurydelendik/pdfviewer

Refactoring to move page display code into separate class
Fixes typo/regression of #5295 for presentation mode
Merge pull request #5359 from yurydelendik/pdfviewer2

Fixes typo/regression of #5295 for presentation mode
Followup fix for entering/exiting Presentation mode

Even after PR 5359, switching to/from Presentation mode is still sluggish and I'm still seeing `too much recursion` printed in the console.
I've managed to track down the issue to line https://github.com/mozilla/pdf.js/blob/master/web/page_view.js#L371. It appears that for this particular case, we actually *need* to set `noScroll = true` when calling the `_setScale` function. (Note that it only applies to *this* line, and not to Presentation mode in general.)
Given the amount of refactoring done to the viewer, I'm not sure what the best way to fix this would be. However I'm submitting this patch as an easy workaround for now, but we should probably refactor this to avoid calling a "private" method directly.