Make &P's (P: Point) impl Point.
Make &P's (P: Point) impl Point.

This allows one to pass e.g. `&[&P]` instead of `&[P]`, meaning one can
have a complicated structure like `points:
BTreeSet<LargeComplicatedPoint>`, and then cluster based on
`points.iter().collect::<Vec<&LargeComplicatedPoint>>()` (i.e. a pointer
for each point) when things demand a `&[P]`, `P: Point`.

huonw/cogset