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.
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
Merge pull request #4156 from Fitoschido/patch-1

Reduce load progress bar’s height to 4 pixels
Add even more unit tests for the API

This patch replaces most of the remaining TODOs in test/unit/api_spec.js with actual tests.
Disable the "Go to First/Last Page" buttons when the first/last page is currently active

Since the "Previous/Next Page" buttons are disabled when the first/last page is active, I think that for the sake of consistency the "Go to First/Last Page" should behave the same way.
Merge pull request #5175 from Snuffleupagus/disable-first/last-page-buttons

Disable the "Go to First/Last Page" buttons when the first/last page is currently active
Merge pull request #5174 from Snuffleupagus/even-more-api-unittests

Add even more unit tests for the API
Avoid an allocation in readCharCode().

readCharCode() returns two values, and currently allocates a length-2
array on every call to do so. This change makes it instead us a
passed-in object which can be reused.

This tiny change reduces the total JS allocations done for the document
in Mozilla bug 992125 by 4.2%.
Merge pull request #5172 from nnethercote/readCharCode-retval

Avoid an allocation in readCharCode().
Remove two instances of leftover console.log debug statements

The `console.log` statement in evaluator_spec.js is obviously not needed. In obj.js it could have been replaced by `info`, but that seemed unnecessary given the already existing `error`.
Merge pull request #5177 from Snuffleupagus/remove-debug-console-log

Remove two instances of leftover console.log debug statements
Miscellaneous code improvements for svg.js
Merge pull request #5179 from timvandermeij/misc-svg-fixes

Miscellaneous code improvements for svg.js
Minor changes for api.js, font_loader.js and svg.js
Merge pull request #5180 from pramodhkp/svgcli1

Minor changes for api.js, font_loader.js and svg.js
Adds width at the beginning of the Type2 charstring