v2: Better request serialization.
* Serialize _NET_WM_STATE requests with each other, serials aren't reliable to tell old requests replies from latest ones. * Same thing for config requests with each other when they go through the window manager. * Serialize more _NET_WM_STATE bits that would likely generate a ConfigureNotify, checking `desired_state ^ pending_state` to decide whether the bit is going to be changed. * Request pending state in `window_configure_notify` too, as config requests are now serialized too.