Fix nasty bug in tty interrupt code. The symptom of the bug was:
typing ^G while the microcode was in `TYI_Immediate' caused the next
read from the tty to get EOF; subsequently Scheme signalled TERM_EOF.
The problem was that there was local storage in `TYI_Immediate', which
contained trash after the interrupt performed a `longjmp' back into
the procedure. According to the definition of `setjmp', it is illegal
to depend on such local storage. We are unlucky in that only a little
bit of the local storage was affected so it took a long time to notice
this problem.
This was fixed by introducing a fluid-binding mechanism to allocate
and deallocate local state. There may be a problem with the
interaction between `longjmp' and this mechanism. If we `longjmp'
past the deallocation routine the world will be messed up.