Add ToUnicodeMap class.
Add IdentityToUnicodeMap class.

When loading the PDF from issue #4935, this change reduces peak RSS from
~2400 to ~300 MiB, and improves overall speed by ~81%, from 6336 ms to
1222 ms.
Simplify isIdentityUnicode detection.
only convert in IE9 if the requested responseType is actually an arraybuffer, otherwise just return the responseText. That way the compatibility.js does not break other frameworks like angular that not always want an array from xhr requests.
Remove old unused code from PDFView.close()
Merge pull request #5150 from nnethercote/toUnicode

Fix #4935
Merge pull request #5160 from tomdw/feature/fix-angular-compatibility-ie9-conflict

only convert in IE9 if the requested responseType is actually an arraybu...
Removes bytesToString/stringToArray conversions in the font.js
Removes stringToArray
Fixes searchRange calculation
Merge pull request #5163 from yurydelendik/fontrefact

Refactoring of OpenType/TrueType font construction
Merge pull request #5166 from Snuffleupagus/pdfViewClose-cleanup

Remove old unused code from PDFView.close()
Attempt to display the File size quicker in the Document Properties dialog

Currently the File size field in the Document Properties dialog isn't set until `PDFView.pdfDocument.getDownloadInfo()` is resolved. If the Document Properties dialog is opened while a PDF file is loading with range requests, this leads to the less desirable situation where all fields *except* File size are available.

In cases where `PDFView.open()` is called with the `args` parameter defined, and `args` contains the property `length`, we actually know the File size when the PDF file begins to load. (This is usually the case when ranged loading is used in the Firefox addon/built-in version.)
Hence we can use `args.length` to set the File size immediately when `PDFView.open()` is called, resulting in a better user experience.
Uses float number formatter to print numbers in SVG
Merge pull request #5170 from yurydelendik/svgformatnumbers

[SVG] Uses float number formatter to print numbers in SVG
Fix typo
Merge pull request #5171 from existentialism/fix-typo

Fix typo
Merge pull request #5169 from Snuffleupagus/DocumentProperties-faster-fileSize

Attempt to display the File size quicker in the Document Properties dialog
Avoid unnecessary array allocations in EvaluatorPreprocessor_read().

EvaluatorPreprocessor_read() is called in two cases. For the normal
layer, the args array it produces is used beyond the bounds of the loop
in which EvaluatorPreprocessor_read() is called.

But for the text layer, the args array is used in a very short-term
fashion. This change reworks things so that a single array is repeatedly
used for the text layer. This reduces total JS allocations for the
Spoorkaart map by 11%, and has similar effects on many other PDFs.
Reduce load progress bar’s height to 4 pixels