TURMITES   ( = "Turing" mites)

The Turmite world consists of a 2-Dimensional "tape" with a 
bunch of Fimite Stat Machines (FSM's) running around on it.

As currently implemented, the turmites are initialized with
a random position, initial state, and transition table. 
Later instantiations will allow more control over the setting
of these variables. The tape is initialized to all 0.

The tape is only modified by the actions of the Turmites, and
has no "stepworld" rule of its own, despite being a subclass
of Ca2d. The only use made of Ca2d, over and above getting
and setting cell-state, is to double buffer the world so 
that all turmites see the same world when they read. 

Many Turmites can be at a single location, but whoever happens
to "write" last in a time-step will leave the symbol read from
the tape by all the mites on that cell at the next time step.
Thus, after a time-step, we invoke "updateWorld" on the tape,
to swap the pointers to the old and new state of the tape.

One can experiment with different settings for the parameters,
but the number of Tmite states and the number of Tape states
should always be powers of 2 (I have tried it with up to 64 
Tmite states and 32 Tape states - anything bigger will probably
blow up)

Simulation objects:

  a bunch of Turmites (implemented in Turmite.m)
  one TapeSpace object (implemented in TapeSpace.m, inherits from Ca2d)

Display objects:

  form for inputting simulation parameters (SimParameters object)
  control panel (created for you)
  worldDisplay window to show tape and turmites (a combination of
    a ZoomRaster and a Ca2dDisplay)
