Use [].forEach instead of for-..-in in evaluator

To prevent errors whenever the array's prototype is extended.
 (cmap is an array)
Using blob URL for open file
Implements mouse wheel behaviour for non-Firefox browsers
Merge pull request #4200 from timvandermeij/ie-mousewheel

Implements mouse wheel behaviour for non-Firefox browsers
Fixes PDFDocumentProxy.getDownloadInfo API name (and refactoring)
Merge pull request #4179 from yurydelendik/dataLoaded

Fixes PDFDocumentProxy.getDataLoaded API name (and refactoring)
Merge pull request #4205 from yurydelendik/blob-open-file

Using blob URL for open file
Reduce memory consumption of simple black and white images.
Merge pull request #4181 from nnethercote/compact-images

Reduce memory consumption of simple black and white images.
Print shortcut: Ctrl + (Shift +) P only

The previous version interfered with the full screen shortcut
 (Ctrl + Alt + P).
The new version only intercepts Cmd/Ctrl + P (all browsers).
And Ctrl + Shift + P in Chrome / Opera (Presto and Chromium),
because these browsers also associate a Print operation with
the shortcut.
Merge pull request #4187 from Rob--W/issue-4183

Use forEach instead of for-in (was: Replace [] with {} in core/cmap)
Merge pull request #4217 from Rob--W/fix-print-shortcut

Print shortcut: Ctrl + (Shift +) P only