VertexFactory is now Singleton, has currentMaxId for vertices and gets it from grammar when loaded
rewrote overridden hashCode() and equals() methods
id is now final
added morphism
grammar now saves currentMaxId for vertices so new Vertices always get a new Id, even after loading a grammar from file
vertex factory now singleton, no new instances are created anymore
rewrote and fixed single pushout
it now uses morphism field instead of ids, adds new edges correctly