contextmanagers: Put state restore code into finally block

fullscreen() contextmanger doesn't restore state when exception occurs:

```
import blessings

term = blessings.Terminal()
with term.fullscreen():
    raise KeyboardInterrupt
```

This patch fixes this.