shadow: transform source correctly for inset shadow in fill/stroke
shadow: handle shadow color with alpha in fill/stroke
shadow: do not draw shadow if shadow color is transparent
shadow: do not support inset shadow in paint and mask
shadow: handle non-opaque sourece pattern inset shadow text rendering
shadow: add fast path for inset shadow glyph

if the shadow color is opaque and source is solid color, we can have
a fast path for inset shadow text rendering.  The fast path is
(1) draw text with white color on a mask surface
(2) use mask surface as mask, and paint source to shadow_surface with
shadow_color as background
(3) blur the shadow_surface back to target with mask surface as mask