Move node graph reading code into utilities class.

Move some XML parsing capabilities in Utilities as well. This is
in preparation of a creator function for shaders that can
populate a shader node graph from an XML fragment. The fragment contains
declarations for shader nodes and their connections.

A fragment looks like:

	<texture_coordinate name="texcoord" />
	<brick_texture name="bricktex" scale="2.0" color1="0.8, 0.8, 0.8" color2="1.0, 0.2, 0.2" />
	<background name="bg" strength="1.0" color="0.2, 0.2, 0.2" />
	<connect from="texcoord camera" to="bricktex vector" />
	<connect from="bricktex color" to="bg color" />
	<connect from="bg background" to="output surface" />
Shader from XML utility function.

A shader will be populated with shader nodes and their connections
as presented by the XML fragment passed.

Example fragment:

	<texture_coordinate name="texcoord" />
	<brick_texture name="bricktex" scale="2.0" color1="0.8, 0.8, 0.8" color2="1.0, 0.2, 0.2" />
	<background name="bg" strength="1.0" color="0.2, 0.2, 0.2" />
	<connect from="texcoord camera" to="bricktex vector" />
	<connect from="bricktex color" to="bg color" />
	<connect from="bg background" to="output surface" />