build: Use old-style private structs to build on GLib 2.36

G_DEFINE_TYPE_WITH_PRIVATE is new in 2.40, so let's stick with the old
style for now to work on RHEL7.0.