continuing to restructure around making the Engine object which contains the various compute-related methods. dropped the use of semaphores in favor of pthreads mutexes. also switched to using one comprehensive engine mutex.
finished initial restructuring around Engine python object. also changed thread paradigm so that the compute thread is created and handled internally rather than it being a blocking call designed to be called from a separate Python thread. need to debug and test.