cairo: Don't free unowned Cairo structs

It seems that in all other release functions, we don't free the
GIArgument's data in the transfer-none case. That would end up freeing
a passed-in argument that was owned by the caller, or a return value
that was owned by the callee.

This bug was spotted by compiling with -Wunused-parameter.
26 jobs for cairo-conversion-bugs in 10 minutes and 43 seconds (queued for 4 seconds)
Status Job ID Name Coverage
  Source Check
passed #278607
cppcheck

00:02:45

passed #278608
cpplint

00:03:00

passed #278609
eslint

00:02:46

passed #278606
fedora

00:04:30

 
  Test
passed #278613
no_graphics

00:06:01

passed #278614
no_profiler

00:06:04

passed #278615
no_readline

00:06:00

passed #278610
sanitizer_gcc

00:06:12

passed #278611
with_logging

00:06:09

passed #278612
with_systemtap

00:06:01

 
  Manual
manual #278629
allowed to fail manual
armv8
manual #278616
allowed to fail manual
codequality
manual #278617
allowed to fail manual
code_statistics
manual #278631
allowed to fail manual
coverage
manual #278619
allowed to fail manual
fedora_gcc
manual #278625
allowed to fail manual
flatpak
manual #278620
allowed to fail manual
installed_tests
manual #278623
allowed to fail manual
lts
manual #278630
allowed to fail manual
ppc64le
manual #278618
allowed to fail manual
sanitizer_clang
manual #278622
allowed to fail manual
ubuntu_clang
manual #278621
allowed to fail manual
ubuntu_gcc
manual #278624
allowed to fail manual
valgrind
manual #278628
allowed to fail manual
zeal_11
manual #278626
allowed to fail manual
zeal_2
manual #278627
allowed to fail manual
zeal_4