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.