Fix returning pointers from callbacks in ctypes backend
Created originally on Bitbucket by tlynn
Was already merged in Bitbucket before import, marked as merged by the import user
This is two commits aimed at the ctypes backend. The first fixes returning a void* from a callback and the second extends that to returning more general pointers from callbacks.
ctypes doesn't like you to return non-void pointers from callbacks due to the gc issues getting more difficult, but it can be useful/necessary for some APIs, so this converts all non-void pointer returns to void*s at the point of wrapping.