Change the nonempty predicate

Make the nonempty predicate act by pattern matching on the chain
directly.

This also simplifies the mid function
Cleanup IncidenceGeometry.agda
Cleanup IncidencePlane