Circle collision angles

Circles now collide and bounce at the correct angle. Mass also comes
into play as well.

Next steps are to tidy the code up quite a bit. Maybe put into different
files or something. Theres also a bug where shapes stick together that
needs squashed, and the one where balls that are supposed to stop at the
walls just get stuck.