Update timed_callback to support collision callbacks.
Don't add collision_components to an object that has no physics

Objects without physics will raise an error if you try to add a
collision callback, so they have been removed entirely.

In addition, there is commented out code in this file designed to
handle attempts to delete a component that doesn't exist. I'm not
sure this is the best I idea, but I left the code in case I change
my mind.