Add a gil

Don't worry, a non-gil version is coming.
Use a gil for now so we can start working on the other threading
requirements, such as GC.
Use signals to get the registers of other threads