gl: do not shrink for gaussian blur if source size is small
cairo: use gstate to hold shadow infomation
cairo: pass shadow in source pattern to backend
cairo: add scale and translate drawing
cairo: do not partial initializing compositor if we need draw shadow

Using full compositor initialization, we can get exact bounding box.
However, because clip changes, we have perfomance hit in msaa compositor
because we need to redraw stencil buffer