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.
Merge pull request #1 from hughsie/wip/old-style-private

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