Track the xdg state we have requested from the compositor and take it into account when sending xdg state update requests.
This fixes a race which would cause us to miss a state update if we haven't yet processed the compositor's configure reply to a previous state request. For example:
0. Initial state: win32 fullscreen, xdg fullscreen 1. Window becomes windowed, we send xdg unset_fullscreen request 2. Window becomes fullscreen, before compositor's xdg "not fullscreen" reply arrives, so we still consider the current xdg state to be fullscreen and thus do not request an xdg fullscreen state 3. Compositor xdg configure "not fullscreen" arrives