2d vector collision detection. Circles and lines.