I'll delve into the IO code some more and then I'll come up with what
changes are necessary to transition to GIO, and what are the possible
caveats. One I have identified so far is that MemoryOutputStream, needed to
sanitize the import / export code, is only present in Glib 2.18 and not yet
present in C++ bindings, but it's easy to reimplement.