Remove call to on_presets_changed from Tab Page's on_change.

(set_dirty is called which handles it anyway.)
Make set_dirty ignore changes that don't do anything.
Precompute X and Y offsets before path loop.
Precache gcode_comments flag before path loop.
Move extrusion path gcode generation to C++ for speed.
Bugfix: the Y coordinate of Point config fields was not correctly validated and lead to a crash when entering non-numeric values. Includes regression test. #1906
Bugfix: crash when setting number of extruders. #1876
Fix crash when using multiple skirts with a single, non-zero, extruder. Includes regression test
Fix the 'extruder' behavior in CLI and test that Print::Simple accepts an incomplete DynamicConfig object
Fix for incomplete extrusion on solid surfaces
Re-enable the threads config option. #1882
Failing test for broken command line scaling. #1889
Fixed broken command line scaling. Regression test was in previous commit. #1889
Merge pull request #1881 from sapir/master

Disable some calls to on_presets_changed to speed up switching profiles
Incomplete work on arc fitting. Results are still incomplete. More unit tests are needed
Some more unit tests for arc fitting
Fix regression causing profile names to be listed in random order. #1864
Merge pull request #1911 from sapir/speed

Rewriting the extrusion path gcode generation in C++
Bugfix: pillars support material crashed when no overhangs were detected
Refactoring: move bridge angle detection to a separate class for easier unit testing