Embedding objects in play

Added code so that the graph visualisation in "play" embeds objects rather than showing everything flat. The embedding is done fairly naively: the first time a node appears as an object it's embedded, and subsequent instances are initially collapsed within the visualisation. 

The visualisation also needed a bit of tweaking to get the distances between nodes such that there weren't overlaps between labels.