image: implement shadow
image: use bilinear filters when enlarge blurred image
gl: clean up of the code
gl: remove clip copy in cairo_gl_context_t structure
cairo: shrinked drawing operation before applying blur does not need clip

we do not need to draw scale_and_translated drawing with scale/translated
clip, because the image will be clipped when mask back to destination.
This saves time in repetitively drawing to stencil buffers
gl: implement blur for spans compositor when it uses texgen
gl: for stroke with small width, we cannot shrink too much

for smaller strike width (e.g., line_width < 3.0), if we shrink too much,
the shrinked line width is skewed and generates skewed blurred image
gl: remove clip cache after swapbuffers

According to khronos egl 1.4 specs, stencil buffer is not preserved
after swap buffer.  We need to reset clip cache after swap
gl: always enable scissor test when there is clipping

We always enable scissor test when there is a clip.  The scissor box
is the clip's bounds.  We use scissor box for both clear stencil buffer
and draw to color buffer
gl: clear glyph mask surface properly
gl/msaa: flush pending drawing if two consequitive drawings do not have
same clip
gl/msaa:  force needs_update to TRUE when stroke with stencil
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
gl: reduces cases to scaling down image in gaussian filter

We would like to skip stage 0 which is scaling down original
image before apply gaussian filters as much as possible because it causes
one additional framebuffer binding.  If the original image size is smaller
than the scratch surface size, we don't scale