shadow: THIS IS A HACK add API indicating path for fill is for spread

THIS IS a HACK.  Add cairo_set_path_is_inset_shadow_with_spread().
This function indicates the path used for fill is a spread path.

When surface_fill encounters this flag, it does not use the path
for filling the original source, instead, it calls cairo_paint ().

In addition, it also use cairo_paint with clip to bound the shadowed
image instead of using path to bound
gl: THIS IS A HACK, add support for fill spread with inset shadow
shadow:  THIS IS A HACK - we also support spread with even-odd rule
image: THIS IS HACK - support inset shadow fill with spread
xcb: THIS IS A HACK - support inset shadow fill with spread