Tile cleanup

This is a small set of changes that allows TileGraph to interact with encoding cleanly and reduces the string operation load.

In the long run it would be nice to know where this kind of graph is going to be used. I think that marshaling as pretty runes is probably a wrong thing to do - a Render function would be more appropriate to handle that.