pub fn convex_hull_2d(points: &[Point2]) -> Vec<Point2>
2D convex hull via Jarvis march (gift wrapping).