* Move previewMode to RenderData instead of ShaderData (still some to do here, as apparently there's still a RenderData _and a_ ShaderData per node, but the intention was to have a RenderData per node and then share ShaderData between those)
* Introduce a temporary identifier for nodes. The first part of this identifier is an index (`int`) which is assigned linearly. When a node is deleted, its identifier as added to a free list. Each identifier also contains a version (`int`), which is incremented when the identifier is re-used. This allows us to replace usage of Dictionary with List in a lot of places.
* Introduce IndexSet for efficiently storing and manipulating a list of indices (e.g. from temp IDs). Internally this stores a list of 32-bit integers and uses each bit to represent 1 index. The operations of `ISet<int>` are implemented for this type, although that interface does not exist in Unity. The operations are very fast and cac...
- Added the fuzziness slot to ReplaceColorNode and ColorMaskNode. It works like
the fuzziness parameter in Photoshop that gives softer edges to the mask.
- Changed the output format of ColorMaskNode from Vector3 to Vector1. It only
outputs single channel masks.
- Added the opacity slot to BlendNode. It's useful when one tries using
BlendNode like layers in Photoshop.
* unroll simple noise loop and add overwrite blend mode to blend node
* updated changelog
* fixed polygon node caluclations
* put overwrite blend mode at the end of the enum
* updates to changelog
* fixing z calculation on normal strength node