Introduce global interrupt checking
Rename vm into state for State objects
Enable interrupt checking when setting thread step
Cheaper prologue checks for JIT'ed methods

This makes the common case of nothing happening inside the vm a lot
cheaper. It shaves a second off the following script (7.5 to 6.5 seconds
on my machine):

def fib(n)
 if n < 2
   n
 else
   fib(n - 2) + fib(n - 1)
 end
end

100000.times do
  fib(15)
end