Improved performance for all operations that involve overlays between 2 layers (intersect, union, split,...).
Improvements:
* Improved performance for all operations that involve overlays between 2 layers (intersect, union, split,...). Especially if the input files are in Geopackage format the improvement should be significant because in this case the input data isn't copied to temp files anymore.
* Added the method geofile.execute_sql() to be able to execute a DML/DDL sql statement to a geofile.
* Smaller code cleanups to improve readability on several places.
Bugfixes:
* In the split and union operations, in some cases (mainly when input layers had self-intersections) intersections in the output were unioned instead of keeping them as seperate rows.
* When using an input file with multiple layers (eg. a geopackage), this sometimes resulted in data errors.
* Fix an error in the lang simplification algorithm that occured in some edge cases.