Better handling of non fullscreen frames

- When opening a fullscreen frame, all frames will be closed (not only
the topmost frame)
- When popping a frame, all frames above the topmost fullscreen frame
will be restored (not only the topmost frame)