Add a UserData pointer so that the callback functions can access user state

Just in case a project has adverse reactions to adding globals or statics in their own code.