Merge pull request #4357 from d3x7r0/master

Allow a url to omit the protocol
Add 'registered' and 'trademark' to mapPrivateUseChars (bug 925985)
Updated to current latest stable version of jshint.
Merge pull request #4266 from peerlibrary/jshint-version

Updated to current latest stable version of jshint
Fix parsing of JP2 images
Rejects invalid fpgm table when too many functions
Merge pull request #4365 from fkaelberer/FixJpxParsing

Fix parsing of JP2 images
Merge pull request #4355 from nnethercote/sliced-masks

Put mask data to the canvas in small slices.
Merge pull request #4354 from nnethercote/Name-cache

Use a cache to minimize the number of Name objects.
Merge pull request #4336 from nnethercote/rgb24

Special-case 24-bit RGB image-handling
Use Array.join() to build up strings in more places.
Merge pull request #4353 from nnethercote/more-Array-joins

Use Array.join() to build up strings in more places.
Remove unneeded |oldtypes| variable from bidi.js.
Merge pull request #4367 from nnethercote/rm-oldtypes

Remove unneeded |oldtypes| variable from bidi.js.
Merge pull request #4362 from Snuffleupagus/bug-925985

Add 'registered' and 'trademark' to mapPrivateUseChars (bug 925985)
Reset annotation stream; reset page annotation promise
Avoid extra allocations in ensureBuffer() caused by an off-by-one error.
Transfer GRAYSCALE_1BPP and RGB_24BPP arrays when possible.
Use RGB_24BPP form for all images lacking alpha data.
Start counting from actual beginning of PDF file