Added node query functions.
Two static: GameObject* getObjectByName(std::string name) queries all scenegraph node with name and return the one that has this name.
only one object can have a given name. If there is no object with this name, it throws an out_of_range exception.
GameObject* getObjectByID(int id) queries all scenegraph nodes and return the one that has the unique ID that matches id.
all gameobjects have a unique id. If the ID is not found (object with that ID has been deleted or not created) it will
throw an out_of_range exception.
two non static: void getAllObjectsOfType<class T>(v<T> &v); adds all children and children of children of this node to v if
they are of type T.
T* getFirstObjectOfType<class T>() the same, but returns first object of this type that is found.