ensurePathDirections
Checks that this shape's paths are ordered correctly. All paths are tests to see how many of the other paths contain it. If the answer is odd, it is assumed to be a hole, and the order of the points is made clockwise. If the answer is even, then the order of the points is made anticlockwise.
Note, if this shape does not define paths (such as Union2d], then this does nothing, and returns this shape.
Return
this shape if the paths points are already ordered correctly, otherwise a new Polygon with corrected paths. Note in the later case, meta information will be lost, as well as color.