glib: Fix missing destructor call
PopplerAttachmentPrivate has a Object member which was never destructed, only set to an empty Object() on dispose. While there is no memory leak (currently!), this is still not correct.
Fix this by making PopplerAttachmentPrivate a C++ class, constructed in place of the gobject instance private in init(), and call the destructor explicitly in finalize().