Add a missing touchManagedPtr to "new"

In rare circumstances, it was possible that the Haskell GC kicked in
between the GValues for g_object_newv being created and
g_object_newv being invoked.

The Haskell objects holding the GValues where not protected by a
"touchManagedPtr" after g_object_newv, so they could be collected by the
GC in the Haskell runtime, who thought that they were not accessible
anymore. This invoked the ForeignPtr destructor, which in turn released
the memory reserved for the GValue. When g_object_newv then tried to
access the GValues in order to construct the object a segfault may
result.
Add some memory debugging facilities

If the environment variable "HASKELL_GI_DEBUG_MEM" is set, print some
live information about memory allocations/deallocations.