Utilities update

This commit adds new features:
* Directional and Spotlight shaders (incomplete)
* Search for nodes by ID
* Print the scene graph to a tree
* Placeholder support for MTL file references in Wavefront OBJ files.
* ::Script object, which allows for more complete Ruby code (such as
that contained in a file or embedded in an Asset) to interact more fully
with the engine (rather than Runnable's more sandboxed behavior).
* Placeholder socket classes for network extensions.