Wrap initialisation from run.py in Simulator class

run.py has now been replaced by the Simulator class. This class is
created by the user code, which passes parameters such as the number of
tokens to place in the arena, and the desired arena size. The Simulator
object starts a separate thread to run the main loop, while the user
code continues.

This change was made for a couple of reasons. Firstly, it allows the
user to provide simulator settings in a per-program fashion, without
the need for a potentially complex GUI or a potentially confusing CLI.
Secondly, it removes the need for specific IDE support or command line
invocation, as the code can now be placed in a module which can simply
be imported, instead of having to add a special run option to an IDE.