Genie:  Inactivate thread in dtor, not Terminate()

When spawn_process() fails and calls reset() directly (as it will if the
startup program can't be executed), it bypasses Terminate().  As long as
MacRelix thinks a thread is active, it will pass zero to WaitNextEvent()
for the sleep argument, burning as much CPU as the OS will permit.  Make
sure that threads are always inactivated on destruction.