first pass at suspending

Doesn't put the cursor back very well at all, but since we're
going to have no idea what has happened while Python
was suspended there's probably not much we can do.
formatting and tests