When a client doesn't specify size hints, nothing prevents a resize to
0x0 - don't allow this situation during mouse resize (check already in
place for kbd resize).

Reported by brynet@
rename for clarity
gc keycode in keybinding since we only deal with keysym now
bring mousefunc closer to kbfunc
Accept _NET_WM_DESKTOP clientmessage; from Thomas Adam
Accept _NET_CURRENT_DESKTOP ClientMessage; from Thomas Adam, though
instead of group toggle, group only.
calculate proper menu width/height on the first Expose event; 'jump' (while using gap) noticed by Christian Neukirchen
state is long
Expand a client

This expands a client to fill all space around another client.

As a consequence, this patch also includes crude support for per-group
Xinerama-aware clients, so as not to affect other clients on other monitors
when expanding a client.