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.
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.
Add local .vimrc to .gitignore.
Fix typo in page tree manipulation when inserting new pages.