*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
*Allow drawn nodes to invaludate the model in OnGUI for the node (if for example the slots change)
*Lighting functions now determine what is available on master pixel node
*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).