Shape detection has been delegated to individual shape genres.
General quadrilaterals for example are now detected, and in future
other shapes could be detected in a similar fashion. The quadrilaterals
estimate where their vertices should be according to the shape
distribution, then checks the correspondance. There are a few bugs to
work out but I'm certainly on to something.
More work done on vertex mapping.