Add ftdebug.c to thirdparty freetype build.

Allows compilation with -DFT_DEBUG_LEVEL_TRACE to track down buggy fonts.
Fix 695041: add special fast case for 8bpp TIFF predictor.
Fix 695261: separate TM and CTM in outline extraction and stroking steps.

We used to extract the outline using the combined TM*CTM matrix and
use the identity transform for stroking, thus ending up with the wrong
line width.

If we instead extract using the TM and then stroke with the CTM we get
the correct results.
Bug 695260: Fix error handling in do_xobject

Various functions (such as fz_begin_group) handle errors internally
by use of the error_depth parameter. This means that if we call
them, we MUST ensure that we call the appropriate closing function.
Similarly, if we don't call them, we should NOT call the closing
function.

In order to ensure we do this correctly, we introduce a cleanup_state
variable that says which ones we tried to call.

This cures the original bug.
Fix 694579: Implement "zoom to fit page".

Add a new function pdfapp_autozoom to fit the page to the window by comparing
the aspect ratios of the page and the window to choose whether to fit
horizontally or vertically.
Set a faster default transition.
Fix 694518: Implement continuous scrolling with keyboard.
Fix 693494: Support media buttons for navigation on X11.
Fix 693517: Support /SMask/Matte preblended images.
Save a bookmark before jumping when using the 'g' command.
Further fix for Bug 695260: Cope with out of memory in fz_draw_end_mask

If we hit an out of memory error in fz_draw_end_mask, then pop the
stack, and rethrow. Ensure that the generic device code catches this
error and sets the error_depth to 1 so that the final pop is ignored.
Tolerate zero-sized xref sections...

...like the one Microsoft Word generates.
fix memory leaks during PDF document creation

pdf_create_document leaks the trailer and in pdf-device.c many objects
are inserted into dictionaries using pdf_dict_puts and leaked instead
of using pdf_dict_puts_drop.
Fix 694093: add vertical variant of CJK fallback font.

Replace the DroidSansFallback TTF files with a TTC that has two fonts:
The original and a copy where the OpenType 'vert' substitution
lookup has been pre-applied by copying the uniXXXX.vert glyph data
to uniXXXX.
Fix 695300: don't throw exception on invalid reference number.

Return the null object rather than throwing an exception when parsing
indirect object references with negative object numbers.

Do range check for object numbers (1 .. length) when object numbers
are used instead.

Object number 0 is not a valid object number. It must always be 'free'.
Bug 695300: Sanitize draw-device stack handling in error cases.

When throwing an error during fz_alpha_from_gray, the stack depth
can get confused. Fix this by moving some more code into the
appropriate fz_try().

In the course of fixing this bug, I added some new optional debug
code to display the stack level as it runs. This is committed here
disabled; just change the appropriate #define in draw-device.c to
enable it.

Also, add some code to run_xobject, to avoid throwing in an fz_always()
clause.
Fix library/header version error message and makefile dependency.
Bump version number to 1.5.