Algorithms for Point-Polygon Collision Detection in 2D