WIP: IPython SVG visualizer for Simulator

This PR is developing code to visualize the signal flow within the Simulator.  It isn't quite right yet, but it's a start.

The current visualization method is based on a grid whose columns are signals, and whose rows are time points within the simulator loop (e.g. "just-post-decoder calculations").

Now that I've seen it, I think I'd like to do it a bit differently, so that there are three signal rows corresponding instead to the three buffer sets created within the simulator.  In this view, there would be some lateral connections that would need curved arcs and arrowheads, but the picture would actually match the reference simulator algorithm.

There is *also* an even stronger need to develop a visualization technique for Models, in which nodes are ensembles (i.e. the things that you can "connect" together), and there is one arc per connection. I'm cautiously optimistic that such a model visualizer should be relatively easy to do once the Simulator one is done, because it seems simpler.

The reason this has anything to do with IPython is that these visualizers can be configured to be the default rendering mechanisms for Nengo objects, so that `display(model.sim_obj)` is this visualization.