Implement elegant focus handling; only manage mapped windows.

focus() has been replaced by a stack and push()/pop(), which eliminates
the need for the 'sel' variable. The window at the end (= top) of the
stack is supposed to have focus; a simple push() will move the client to
the top of the stack. This also allows to determine easily which window
to focus next upon a window's destruction.

Windows that have override_redirect or that are not mapped are no longer
managed by stwm. This allows a simpler handling of clients.
=> *all* clients are part of the tiling layout, no need to do checks in
   every place.

Currently there is a bug that makes stwm crash upon closing the last
window. I suppose this is a purely arithmetical mistake somewhere. Once
this is fixed, this should get merged into master.
0 < 0-1 can be true if the 0s are unsigned.

... yes, it turned out to be an arithmetic mistake. And I've learned
something new today.
Remove warning message for unmapping unmapped windows.

This happens quite a lot, since we ignore all windows with
override_redirect. Unmapping one of them is quite common.
Merge branch 'mapped'.

Includes a more elegant way to handle focus, and has not shown any bugs
so far. Might become a stable base for developping a truly usable WM.