Handle GI_TRANSFER_EVERYTHING for returns of foreign structures

Any (transfer full) return of a cairo type other than a path
was leaked.

Pass the transfer type PyGIArgOverrideFromGIArgumentFunc and handle
it for the cairo foreign type. For paths we can only handle
(transfer full) so throw an error for (transfer none).

https://bugzilla.gnome.org/show_bug.cgi?id=726206