Exceptions thrown by Flow calculation were made explicit classes derived
from std::invalid_argument.
The PresetHints::recommended_thin_wall_thickness() newly catches these
exceptions and it shows the reason of why the hint is invalid.
by the PlaceholderParser.
Namely, all the options with the "ratio_over" reference are now handled
correctly by the PlaceholderParser with the exception
of the "first_layer_extrusion_width", which overrides speed of extrusions
by their respective extrusion type.
Also the various extrusion widths (extrusion_width, first_layer_extrusion_width,
external_perimeter_extrusion_width etc.) produce the same numbers
as if ran through the back-end, with the assumption of not overriding
layer height by the variable layer height editing tool or layer height
modifiers.
* to build the tests on windows, you need vs2015 or 2017 with "CRT SDK"
so you have to also build all deps & slic3r against this compiler.
* I didn't tried to build the tests on linux/osx, maybe some cmkae changes are needed.
* I added a slic3r_lib project to be able to link statically the test against all the slic3r project.
* tests will need many changes to be able to use the new codebase. only the ones in the cmakelists are done right now.
* some test may be in error, because the behavior of the test vs slic3r isn't defined well enough to make a decision of which one is wrong.