SVG: Fix fts_01_0106.pdf

A gradient fill that doesn't fill the bbox should be see through
(unless background color is set, but we'll worry about that case
when I find an example file that uses it). Arrange for the pixmap
we draw the gradient fill into to be transparent initially.

Also ensure that when we convert to png we preserve transparency.
prevent potential heap access violation

fz_reset_gel fails to reset the length of active edges, which could
(AFAICT) lead to pointers in gel->active pointing to memory that's
been previously freed by fz_resize_array.
Update documentation of multithreading and contexts.

Attempt to improve the clarity of the explainations pertaining to
cloning contexts and bound contexts.
SVG: Fix clip stack handling etc.

fts_09_0919.pdf shows up some silly mistakes in the clip stack handling
and in the handling of 0 sized pixmaps. Simple fixes.
SVG: Add dumb group implementation.

Really just a structure indicator as SVG 1.1 doesn't support
blending etc.
SVG: Add simple smask support.

The luminosity flag and background color are currently ignored.

The clip stack optionally held in the null device is updated here to
be a container stack, together with a flags word (currently just used
to indicate the type of the container at the current place in the
stack), and a user value (used by the SVG device to stash the id for
the mask it's generating).
SVG: Fix alpha issues.

While looking at fts_09_0921, I spotted that the alpha values on images
and fills aren't being sent. Fix that here, together with broken colors
being sent for masks.

fts_09_0921 still renders badly due to the lack of support for blend
modes.
Merge remote-tracking branch 'upstream/master'
Handle stroke+fill operations with transparency/blendmodes.

When stroking and filling in a single operation, we are supposed
to form the complete stroke+fill image, then blend it back, rather
than filling and blending, then stroking and blending.

This only matters during transparency, or with non-normal blend
modes.

We fix MuPDF to push a knockout group when doing such operations.
Create Contents entry in PDF write device if one doesn't exist already.

Avoids a SEGV on writing.
Update README
Merge remote-tracking branch 'upstream/master'
Add local .vimrc to .gitignore.
Fix typo in page tree manipulation when inserting new pages.
iOS: support filling in of text form fields
iOS: keep reference to the fz_pixmaps.
iOS: use partial updates to display annotation changes
iOS: add support for selecting form choice fields
Fix null device clip stack scissor handling.

Was failing to correctly initialise scissors when extending the stack.
This caused the fill text to disappear in fts_15_109.pdf
page->contents should be a reference, not the original object.