automatically init() instances of Gio.Initable, and figure out Gio.AsyncInitable
Submitted by Colin Walters
The intent of Gio.Initable was that bindings would automatically call g_initable_init() and throw an error if that failed.
We should do this automatically. An example is creating a new Gio.DBusProxy.
A related question is how to handle Gio.AsyncInitable. Should we just assume callers will use the _async() wrapper, e.g. GDBus' g_dbus_proxy_new_for_bus()?