Split the support into parts before generating the infill
Split the support into parts before generating the infill

The problem: The generated tree branches were merging at some point while going up. When all of
them merged together, 1 big part was being created, which essentially had a hole in the middle
(which hole also contained the model itself). Because the Polygons were not split, the part and
its hole were considered as two individual parts leading the infill generator to produce infill
lines for the inside of BOTH those parts thus covering the entire area.

The solution: Calling the splitIntoParts on the support layer generates the necessary
PolyTree, which essentially marks the inside polygon as a hole, thus not generating infill for
that. Therefore, the support infill is only generated within the solid areas.

Fixes
* https://github.com/Ultimaker/Cura/issues/5223
* https://github.com/Ultimaker/Cura/issues/7240
* https://github.com/Ultimaker/Cura/issues/7105
* https://github.com/Ultimaker/Cura/issues/5940

CURA-6465

Ultimaker/CuraEngine,Ultimaker/CuraEngine