Make GLib.Variant.unpack a bit less costly
I'm iterating over a dump of 245000+ serialized GVariants, unpack
ing each one of them.
Overall, the changes in this merge request make that about 27% faster: it went from roughly 8min30 to roughly 6min10.
I tried profiling it, and it seems to me that to get further savings we would need to rewrite the function entirely in C as a Python extension.