Avoid possible buffer overflow in pdfapp_warn
Forms: handle app.execMenuItem (presently just as a not-supported warning)

The name of the menu item is passed, so presumably the app could respond
to some of the possibilities.
Forms: show warning for use of app.execDialog

app.execDialog looks very difficult to support. Hopefully we wont have to
Some gitignore updates
Forms: handle app.launchUrl, currently by displaying a warning
Javascript: support test for boolean
Forms: support doc.mailDoc.
Implement oversized text clipping and stroked text clipping.

We'd never got around to implementing text clipping with oversized
glyphs before, at least partly due to a lack of files showing the
problem. Now, thanks to a file from Paul Hudson, we have an
example and hence a fix.
Add thirdparty libraries as git submodules.

jbig2dec latest
freetype 2.4.10
jpeg 9
openjpeg 1.5.0
zlib 1.2.7

Update MSVC projects for thirdparty libraries as submodules.

Improve thirdparty library availability checks in Makethird by
checking for the existence of a README file instead of just the directory,
since a checkout without active git submodules has empty directories
for the third party libraries.
Use 'artifex' branch of third party openjpeg library.

Version 1.5.0 with revisions 1728 and 1730 included from SVN.
Bug 693330: Change shadings to decompose to meshes at render time.

Currently, the mupdf code loads shadings at parse time, and
instantly decomposes them into a mesh of triangles. This mesh
of triangles is the transformed and rendered as required.

Unfortunately the storage space for the mesh is typically much
greater than the original representation.

In this commit, we move the shading stream parsing/decomposition
code into a general 'fz_process_mesh' function within res_shade.
We then grab a copy of the buffer at load time, and 'process'
(decompose/paint) at render time.

For the test file on the bug, memory falls from the reported 660Mb
to 30Mb. For another test file (txt9780547775815_ingested.pdf
page 271) it reduces memory use from 750Meg to 33Meg. These figures
could be further reduced by storing the compressed streams from the
pdf file rather than the uncompressed ones.

Incorporating typo fix and unused function removal from Sebras. Thanks.

Remove unused function in shading code
Handle axial and radial shadings the same way as other shadings.
Give better warnings for out of bounds values in shadings
Use malformed shading entries as far as possible

The rest of the shading code and source code for other cases already handles
malformed entries in the same way.
Move to consistently refer to "Linear" shadings rather than "Axial" ones.

Thanks to Sebras for pointing out our schitzophrenia here.
Refactor compressed stream loading.

Refactor 'short stopped' image stream loading into fz_compressed_buffer
loading. Nicer overall, and reflects the fact that this can be used
for non-image streams that we want to hold compressed in memory (for
instance for shading streams).

This is a preparatory step for pdfwrite, and enables further shading
memory use optimisations.

Remove unused jbig2 function pointer from the fz_compression_params
(previously fz_image_params) structure to avoid confusion.
Make shadings hold the data streams compressed.

This reduces memory use by another 10% on the 2 testfiles mentioned
in the previous commit (see bug 693330).
Rename mubusy to mutool.
Ignore common, .pdf/.png/.pnm test case files in .gitignore
Move local implementation of trig function to internal header

Previously these were only used for shadings in test builds.
By the same argument that they are applied for shadings, it
can be argued that they ought to be applied everywhere trig
functions are used.