Fix bug #369: Motion blur not implemented in Cairo
Fix bug #412  -  Radial Blur not implemented in Cairo
Fix bug #405  -  Cairo render ignores gamma from setup
Forgot to destroy Cairo context after used in a previous commit.
Fix bug #413  -  Curve gradient not implemented in Cairo
Partially fix bug #416  -  Some layers implemented only via get_color in Cairo.
Implemented Spiral Gradient
Partially fix bug #416  -  Some layers implemented only via get_color in Cairo. (II)
Implemented Simple Circle
Completely fix bug #416  -  Some layers implemented only via get_color in Cairo. (II)
Implemented Filled Rect
Fix bug #414  -  Sphere distort not full y implemented in Cairo
Plant Layer: move the drawing stuff to a external function to simplify code.
Fix bug  #411  -  Plant layer not implemented in Cairo
Fix bug #410  -  Duplicate layer not implemented in Cairo
Fix bug #370  -  ListImporter doesn't work in Cairo
This fix includes some changes on the following files:
mptr_cairo_png.cpp: Modified behavior when constructed from a file that is not readable. The cairo_surface_t* is set to NULL and returns. Also if mapping fails it returns too.
listimporter.cpp .h: inclusion of the macros from Importer to make it consistent with the rest of importers
surface.cpp:  when cairo?surface?t*  status is not ok, destroy the surface and set the pointer to null. When attempting to map a null surface or already mapped surface print error message and return. Similar within unmapping a null surface or a surface not mapped.
Fix bug #436  -  Preview render - Cairo On - Quality5 - "ghost lines appear". Disable using high level Cairo API for Outlines on quality > 6
Remove unused variables
Merge branch 'cairo_pending'