Added void * to callbacks

All callbacks always forever without exception even if it kills you,
must have an extra pointer for user data.  Otherwise, we are forced
to use global variables and contain the callback to a single thread.

Signed-off-by: Shahbaz Youssefi <ShabbyX@gmail.com>