cairo: fix leak in Cairo.Context.Dispose(false)

When the finalizer calls Dispose(), disposing==false, it means that
CairoDebug traces should be printed, but that doesn't mean that the
finalizer should *not* free(unref) the memory, otherwise it is when
a real leak appears (because the CairoDebug traces just advice you
about being able to dispose resources earlier than the GC).