Add MuJS submodule, implementation and build.

Adds simpler choice of Javascript library to makefiles.
Will prefer in order: MuJS, JavaScriptCore, V8, none based
on HAVE_MUJS, HAVE_JSCORE, and HAVE_V8.

For simplicity, we build mujstest even with no javascript implementation.
Break dependency of pdf-annot.c to graphics library.
Break dependencies on pdf-form.c and pdf-js.c

Split functions out of pdf-form.c that shouldn't be there, and make
javascript initialization explicit.
Split mjs script generation to separate tool.

It has no real reason to live in mudraw, and it does pull in the
javascript dependency via pdf-form.c.
Update win32 project files for JS.
Use MuJS in Android build.
Update the winrt solution with the changes made in the win32 solution.

Also update the code for the changes made in the stream API
Avoid double closing a stream.

Michael spotted that double closing an fz_stream on an inline image
does bad things. Simple fix is not to double close.
Bug 695089: inherit resources for softmasks (regression fix)
fix warnings in fitz/printf.c

This fixes three instances of warning C4706, allows compilation with
VS2013 and prevents an accidental va_end for when va_end is defined
(which is the case for debug builds).
Add va_copy/va_copy_end macros to support both C89 and C99.
Merge remote-tracking branch 'upstream/master' into upstream