Fix an unpaired mutex unlock

This may have been causing the random memory corruptions. Whoops.
Support outputting additional debug information for certain GTypes

It is useful to see at-a-glance debug data for certain types of GObject
in the dumped object list. Initially, this feature supports printing the
source tag of GTasks, but other GObjects could get special treatment in
future.

To be useful, this requires the program being debugged to be compiled
with -rdynamic.