Spatial Graph Grammars for Graphical User Interfaces