Fix text selection for oddly-spaced TJ commands

This change will discard trailing space adjustments in TJ/showSpacedText()
for the purposes of calculating the text width for text selection. In
pathological cases, a PDF may write one character and then move the text
matrix back to the beginning of the character within one TJ invocation.
This would add up to a canvasWidth of 0, so the text selection <div> would
be scaled to zero pixels wide, even though the character was drawn
normally.

With this change, canvasWidth will not include any adjustments made after
the last character was written. Normal use of TJ will result in the same
text selection behavior, whereas pathological use of TJ will result in the
text selection layer matching the actual width of the characters
displayed.

For an example of such pathological behavior, see http://www.tycovalves-usa.com/ld/CROMC-0297-US.pdf#page=48
Resize the zoom box width to fit the content - fix embedding - address comments
Implement "83pv" CMap and fix CIDFontType0 handling
Use fetchIfRef to get annotation dictionaries.

Fixes failure to display annotations in PDFs where the annotation
dicts are inlined in the page objects rather than in subobjects.
Make links work in fullscreen - fix issue mentioned by @yurydelenik
Merge pull request #2712 from Snuffleupagus/fullscreen-links

Make PDF links work in fullscreen mode
Fix spacing calculation of TJ operator
Merge pull request #2836 from sgtatham/master

Fix handling of inline annotation dictionaries
Merge pull request #2826 from vyv03354/83pv

Implement "83pv" CMap and fix CIDFontType0 handling
Merge pull request #2816 from Snuffleupagus/zoom-select-adjust-followup

Resize the zoom box width to fit the content - fix embedding
Merge pull request #2809 from divergentdave/TJ_text_selection

Fix text selection for oddly-spaced TJ commands (Issue #2808)
Merge pull request #2844 from vyv03354/issue2842

Fix spacing calculation of TJ operator
Sharpen the patterns.

Draw the patterns with the intended resolution instead of scaling
afterwards. Scaling leads to unclear patterns.

Also:
Make TilingPattern function for paintType switch case.
Make TilingPattern function for bbox clipping.
Make TilingPattern functions for scaling code.
Increase MAX_PATTERN_SIZE to 4096.
Add Singular Value Decomposition function.
Merge pull request #2177 from kkujala/tiling

Sharpen the patterns.
CSS fixes to the sidebar.
No need for a 15px margin, and links should have a pointer cursor.
Merge pull request #2848 from waddlesplash/css

CSS fixes to the sidebar
Hack to support automatic printing from pdf javascript.
Merge pull request #2839 from brendandahl/auto-print

Hack to support automatic printing from pdf javascript.