Previously, __restore_context was meddling with the to-be-restored
context SR on the stack, not correctly restoring GIE.
Now, we let the CPU restore the correct status register as saved in
__save_context.
Contains some simplification of the context save/restore logic.