Use G_DEFINE_TYPE_WITH_PRIVATE if applicable

This gets rid of the strange `do_init` macro and makes the intent a bit
more clear.
5 jobs for wip/nielsdg/use-g-define-type-with-private in 51 minutes and 14 seconds (queued for 7 minutes and 27 seconds)