added q_2d_line_segment_collision()