Bug 885621. Fix gfxPattern::GetMatrix() with azure and add GetInverseMatrix(). r=bas

Currently SetMatrix will take the Inverse of the passed in matrix but GetMatrix
doesn't not invert it on the way out. This fixes that and adds a
GetInverseMatrix() so that we don't double invert it when we need the inverse.

--HG--
extra : rebase_source : 6bb2049ccee22c62b1825687ecd09ddd1aad8b2e
Bug 885016. Avoid using uninitiated extend in gfxPattern. r=bas

This changes gfxPattern to use GraphicsExtend. All of the inputs and outputs
are GraphicsExtend so there's no point storing it in a type of ExtendMode. We
also intialize gfxPattern to EXTEND_NONE when constructing it for Azure.

--HG--
extra : rebase_source : 576a620b45d5222a5548dd79520537d52ed5659e
Bug 885020. Make Mask() use MaskSurface when drawing with EXTEND_NONE. r=bas

We can avoid the overhead of Mask() in situations where we are drawing with
a surface mask and EXTEND_NONE.

--HG--
extra : rebase_source : 578d1ab2de5dee536215ffccc5f80a907efb2140