prevent buffer overflow in cbz_strnatcmp

If the two arguments to cbz_strnatcmp are equal (except for leading
zeros), cbz_strnatcmp reads beyond the buffer until it finds differing
bytes or enters a non-readable memory page.

TODO: Should sorting "test01" and "test1" lead to a stable sort order?
Bug 695271: fix incremental updates for files without final linebreak

PDF documents aren't required to end in a linebreak. Objects however
must start on their own line (in particular for broken documents
relying on reparation). For this reason, a linebreak must be inserted
before starting an incremental update.
hex-encode UTF-16 strings when writing PDF

fmt_obj calculates whether a string is better hex-encoded or written
using escapes. Due to a bug, '\0' is considered to be escapable same as
'\n' when instead it would have to be written as '\000'. Since UTF-16
strings tend to consist of many '\0' bytes, their octal encoded form is
much longer than their hex encoded form.

The issue is that the first argument to strchr contains an unintended
trailing '\0' which has to be special-cased first.
fix ZIP64 support in xps-zip.c

Per the ZIP specification, ZIP64 values are only used if the original
value was -1 (i.e. 0xFFFF for 16-bit and 0xFFFFFFFF for 32-bit values).
Microsoft's XPS viewer behaves according to specification and so
should MuXPS.
properly decrypt strings in encrypted but broken documents

If a PDF document is encrypted but broken, repairing caches all
strings in encrypted form. Clearing the xref after repairing
ensures that strings are returned to API callers as expected.

Cf. https://code.google.com/p/sumatrapdf/issues/detail?id=2610
report more cases of blending use for pdf_page

pdf_page::transparency is supposed to indicate whether a page uses PDF
transparency features. The checks aren't complete, though, which is
relevant for devices which require additional handling for transparency
(such as SumatraPDF's gdiplus_device).

See https://code.google.com/p/sumatrapdf/issues/detail?id=2107 and
https://code.google.com/p/sumatrapdf/issues/detail?id=2540 for
example documents.
allow to extract text for uncacheable glyphs

Certain glyphs such as found in nested Type 3 font can't be cached.
Currently, the text extraction device doesn't see these as they're sent
only as drawing operations. Sending them also as invisible text fixes
potentially missing letters.
allow 1-bit colormaps for TIFF images

The TIFF specification seems to only allow for 4-bit and 8-bit
colormaps. However at least Microsoft's XPS viewer also accepts 1-bit
colormaps and our current code handles this case already anyway.

See https://code.google.com/p/sumatrapdf/issues/detail?id=2562 for a
sample document.
fix potential memory leak in load-jpx.c
fix off-by-one error in fz_unblend_masked_tile

fz_image::n is used inconsistently: Sometimes it includes the alpha
channel and sometimes it doesn't. At the point where
fz_unblend_masked_tile is called, it doesn't.
Fix VS project "generated" "Clean" step for Debug builds.

It was missing one level of ..\ so failed trying to delete platform/generated