client: Make CmCallback work like other glib callbacks
Instead of passing the user_data as first argument, pass it as last
argument like anywhere else. Instead we have the client
as first
argument as one would expect.
Remove mentions of user_data
being a GObject
requirement. It's an
untyped pointer as user_data
elsewhere.
This is a slight API break but it makes things less confusing (at least for me).
As I always get stuck on gpointer object
and similar things.