Circle/rectangle collision and optimizations