Add preview for main node
Allow overriding of preview size per node
Fix issue with preview generation happening before active nodes were recached
Allow 'preview' generation to generate surface shaders
Fix bug in function3 nodes
Remove properties as they are not needed (will expose property setting per input node)
Add support for compact node UI view
Add Vector3 node
Update some example graphs
*Unified deletion architecture - Delete edges before nodes
*Input proxies now aware of their type
*Fix shader builder bug when mapping from vector1 -> vector2. Some compilers need this to be explicit )swizzle with .xx).
*Use GUID for node identifier instead of instance ID (Stable between runs)
*Cash hash of last generated preview shader string, do not regenerate if it's the same
*Serialize node preview shaders / materials / last generated shader hash (load time optimisation)
*Add node property: canDeleteNode returns false by default. True for pixel master node
*Rarrange popup menu