Whether p is inside ring r (no closing duplicate), by the crossing number.
p
r
bool pointInRing(Vector2 p, List<Vector2> r) => pointInRingXY(p.x, p.y, r);