Added step() function, improved rendering.

We now have a step() function that executes exactly one iteration of the
draw loop and then pauses. Calling resume() or step() will produce more
iterations.

In addition, packet collisions are now represented as the *average*
color of all packets on the cell. This renders much better and is also
fairly clear. The quality of rendering has also been improved.

As of right now, when a host is beginning writing a packet and another
packet comes on the wire while the first one is still writing, there is
a collision. Not sure if this is the correct behavior or not.