gl: must release/acquire one more time if dst and src gl surfaces in different contexts

We must have an extra device release and acquire of the dst surface's
context if source is a gl surface in different context.  This is because
we have locked dst's device in cairo-gl-surface.c
shadow/blur: shadow and blur parameters should be not affect by transformation

According to HTML spec, shadow parameters do not get affected by current
transformation.
gl: always create 32 depth for shadow surface
shadow: always create shadow surface with alpha channel

shadow requires masking.  We need to generate shadow surface with
alpha channel.
xcb: add gaussian filter
gl: clear scratch surface framebuffer after binding

This is optimization for tile-based GPU architecture
gl/msaa: disable scissor and stencil tests during framebuffer blitting

We must disable scissor and stencil tests during blitting between
multisample renderbuffer and singlesample textures.  We must also
blit the stencil and depth buffer in addition to the color buffer