cairo: add GAUSSIAN filter interface
image: add gaussian filter
pattern: cannot shrink image smaller than a defined size for blur

Shrink an image too much for blur will see block image effect.
wip
wip
wip
wip
wip
wip
wip
wip
wip
wip
wip