Fix malloc_hook warning on glibc 2.17 and later.
In glib 2.17 the __malloc_ptr define was removed in favour of using void* directly. Our declaration of mhook using this type for the second argument therefore rightly generates a warning on modern systems, since the type is assumed to be an int, which is too narrow to hold a pointer on 64 bit architectures. Since it was only ever a define we could use an #ifndef to define __malloc_ptr ourselves. However we only use it once, so using void* in the signature directly is cleaner. This should cause no problems on older systems where it will match either the void* or the char* (for non __STDC__ code) the define resolved to.