Report path and property for unknown properties.
Split up create_nodes().

This should ease cleaner updates of shader parameters.
Rework material property updates.

Now the nodes are rebuilt only when the shader type changes. Other
properties only update the relevant node values.