This removes special dependency graph code that was intended to avoid GPU shader recompiles by preserving the node tree and GPU material in specific cases. This is no longer needed now that we have a general shader pass cache that compares the generated shader code. The GPU material is already being freed in material and world eval as well, so there's no point. Note also that GPU materials are now safe to free from threads, actual OpenGL buffer freeing happens delayed.