Fixed a floating point issue in Polygon::IsSelfIntersecting