Previously, a small offset in the same direction of section is added to
the section height to avoid tagent plane cut. Now we'll retry by adding
offset in the oppsite direction if the first attemp fails.
* Fixed non-circular curve orientation handling
* Section changed to use Part::CrossSection, because it seems
BRepAlgoAPI_Section has trouble with non-circular curves (LastParameter
becomes huge which causes discretization to produce many many points)
* Exposed Area.makeSections() to section with variable heights
* Modified Area.setPlane() to accept non-planar shape
* Exposed Area.getPlane() to obtain current workplane
* Exposed Area.Shapes attribute to return the current holding children
shape.
* Path.fromShapes can now convert any number of shapes to Path with
optimzied travel distances. It internally uses Path.sortWires to
minimize travel distances, and also sort wires by its Z height in case
of sectioned wires.
* The above python function is impelmented in Path::Area class.
* Path::FeatureShape is rewrote to take advantage of these two
functions.
* Add Path::FeatureAreaView to partially display a Path::FeatureArea's
sections.