A handle to the single, shared supervisor process across all MiriMachines.
Since it would be very difficult to trace multiple FFI calls in parallel, we
need to ensure that either (a) only one MiriMachine is performing an FFI call
at any given time, or (b) there are distinct supervisor and child processes for
each machine. The former was chosen here.
Initialises the supervisor process. If this function errors, then the
supervisor process could not be created successfully; else, the caller
is now the child process and can communicate via do_ffi, receiving back
events at the end.