darts and unregister: optimize usage of hud field in darts + allow multiple functions to be registered with the unregister hook
darts: use of hud->data_not_used instead of looping on the data_not_used_list and use of unregister for data
unregister: New struct to allow multiple functions to be added to the data unregister hook