Fix JPX colors
Fix infinite loop in DecodeStream_ensureBuffer()
Merge pull request #4399 from fkaelberer/FixInfiniteLoop

Fixes infinite loop in DecodeStream_ensureBuffer()
Fix scrolling using Shift+Spacebar in Firefox
Merge pull request #4397 from fkaelberer/FixJPXcolors

Fix JPX colors
Merge pull request #4393 from Snuffleupagus/issue-4341-followup

Fix scrolling using Shift+Spacebar in Firefox
Fixes off-by-one error when finding missing endstream
Merge pull request #4404 from timvandermeij/invalid-number-e

Fixes off-by-one error when finding missing endstream
Improved annotations' display/behavior.

Added an "InteractiveAnnotation" class to homogenize the annotations' structure (highlighting) and user interactions (for now, used for text and link annotations).

Text annotations:
The appearance (AP) has priority over the icon (Name).
The popup extends horizontally (up to a limit) as well as vertically.
Reduced the title's font size.
The annotation's color (C) is used to color the popup's background.
On top of the mouseover show/hide behavior, a click on the icon will lock the annotation open (for mobile purposes). It can be closed with another click on either the icon or the popup.

An annotation printing is conditioned by its "print" bit
Unsupported annotations are not displayed at all.
Preliminary attachments support

Added a partial Filespec support
Added getAttachments in API
Added a new attachments view in UI (with a new icon by @shorlander)
Merge branch 'improveAnnotationsDisplay' into AnnotHTML
Merge branch 'AnnotHTML_OLD' into AnnotHTML

Conflicts:
	src/core/obj.js
	src/core/worker.js
	src/display/api.js
	src/shared/annotation.js
	web/page_view.js
	web/viewer.css