Geometry Nodes: rename Geometry type to GeometrySet
This should not change any functionality.
After talking to Brecht, we agreed that it might be good not to have a class called Geometry for now. In the future we might want to use a Geometry class as base class for meshes, curves, etc.
This commit renames the Geometry class to GeometrySet, because it is essentially a container that can contain multiple geometries of different types.
This node is similar to the subdivision surface modifier. It subdivides the mesh component of a geometry. The options have the same meaning as in the modifier.
Geometry Nodes: Rename node category based on functionality
Naming based on supported geometry components only works in some cases. For nodes that work with multiple data types, it's better to categorize them based on their functionality.
Geometry Nodes: Add errors for out of sync sockets and properties
Theoretically the modifier's properties could be changed or removed by Python, so it may be useful to have errors printed and added to the modifier in that case.
I kept the check as a separate step from the `compute_geometry` pass because the object is needed to set the modifier error message. But it could easily be moved there in the future.
Geometry Nodes: Allow node group inputs with the same name
If we add the "name" label manually with uiItemR, we can use the socket identifier instead of the name for the IDProperty name. This will also allow us more flexibility in how to draw the settings in the future, and removes the empty _RNA_UI proprety that was drawn before.