Generalise ContainsPoint routine

The same algorithm for this routine is essentially implemented in each geometry object. This should be pulled up to the base class and just the "check if local coord is in the element" part kept virtual.