Change thread to use multiprocessing

we can kill the whole thing with one c-C now.

Turns out we could have also daemonized the thread (python threads need to be daemonized, otherwise they won't stop when the foreground thread stops).