correctly call cairo_destroy

fix memory leak with gtk2 runtime
cairo assertion with gtk3
Merge branch 'gtk3_cairo_destroy'