A GLib friendly coroutine library