Rough fix for collision detection.
Collision was occasionally failing due to multiple balls detecting each
other during proximity detection. Now we find all balls in actual
collision and mark them as colliding, then loop through the list and
call collision() on each ball. This is simply a quick fix to test the
theory and still has yet to be written properly.