This version adds in needle sets which are notably distinct from simple color changes in that they set the needle rather than the color. This is reflected in the loaded elements from files with needle sets rather than color changes as well as for accounting for the sequences these colors should use and pre-planning them during the encode process.
Some of these changes are breaking.
* Added a color-change/thread-change/needle-change processor to the encoder.
* Fixed matrix. It wouldn't actually work for in-place rotations. Added in MATRIX_ROTATE_ORIGIN and MATRIX_SCALE_ORIGIN to account for the older broken ways these would have not quite worked.
* The sequences can be post or preset using SET_CHANGE_SEQUENCE commands
* . add_block() is added to be a much more general adding data method.
* The contingencies for long stitch are explicitly name.
* With testing, I got rid of the explicit pattern stabilized. All of that should be handled by the encoder well enough.
* CSV got rid of the encoder usage. This is a lossless record of the pattern and for that utility, such things needed to be preserved.
* Couple minor format fixes. Some elements wrote slightly oddly and caused issues for direct conversions.
* Tie On / Tie Off elements were converted to a contingency. While 3 small is the default, it allows for future tie-on methods.
* Strip_speeds was changed to writes_speeds. This seems more reasonable and consistent.
* pec graphics are now listed in the metadata as pec_graphic_.
* Added functions to EmbFunctions.py including the helpful dictionaries that used to exist in the csv reader and writer.