overhauled callbacks, callbacks now usually have a voidptr for userdata, no conversion cache anymore, arguments have flexible type, generic argument packing