Made sure collision callbacks are only called once

Sometimes an entity's OnEntityCollision callback was being called more
than once for the same entity. The Physics systems now keep track of
which ones have been called.