Replace marshal generation by glib's generic marshaller