Simplify layer change code now that we have distinct support layers
Added some debugging code
Incomplete work to improve support material by avoiding thin columns and making sure everything is supported correctly
Reapply perimeter only to support
Refactoring: generate interface and support in different cycles
Bugfix: top layers were not detected correctly, causing overlap of support material and object in some situations where there were contact regions having the same Z as some top regions
Remove jitter and overlaps in interface infill
Enforce some horizontal margin between object and interface/support (contact not affected)
Make sure teeth are not too tight
Fix regression causing lack of contact infill
Bugfix: alignment code for rectilinear infill caused lack of infill (regression in 948b43f). #1387
Fix a situation where extra perimeters prevented top shell to be fully propagated. #1387
Regression test for fix 36596bf569a2764f527ab80a26992039daed9c67. #1387
Improvements to SVG debug tools: honor input order and support all colours
Update test now failing because of some numerical instability
Debugging code
Merge branch 'master' into xsdata

Conflicts:
	lib/Slic3r/Layer/Region.pm
	lib/Slic3r/Print.pm
	lib/Slic3r/Print/Object.pm
Ported union() to XS
Minor fix in debug code
Fix handling of dirty models with overlapping facets, where some holes became filled because of wrong slice nesting