pub(super) fn quad_contains(quad: &[(f64, f64); 4], p: (f64, f64)) -> bool
Whether p lies inside a convex quad; points on an edge count as inside.
p