fn collinear(a: GridPoint, b: GridPoint, c: GridPoint) -> boolExpand description
Whether b lies on the straight line through a and c (zero cross
product). For the axis-aligned corners we deal with, this means a, b, c
share a row or column.