Made some improvements to collision detection algorithm.

Still lots of bugs to work out. NOTE: This relies on balls having unique
colors. If they're not unique then collision detection won't work
properly. HOW IT WORKS: We use color.getRGB() as the balls hashcode. We
add all the balls to a hashmap, then when we use proximity detection we
can use the colour code from image.getRGB(x, y) as a key lookup to find
the ball it's colliding with, eliminating the need to search through the
list of balls for each proximity detection.