Attempt at ficing ball collisions.

Ball collisions seems OK for the most part. But sometimes the code can't
recognize what kind of collision occured. This usually happens when
hitting a corner. The ball will now turn in both x and y dir.

This is probably not a 100% fix so it should be looked at more thurougly
in the future.