extend the timer-related API to allow registering a free callback

to eventually release the memory alooc'd for the priv pointer (if necessary)

otherwise the caller's might not have a chance to release it