Fix layer shell reset
In the current form any client committing multiple times without attaching a buffer would unset the cached state and trigger an error.
It's legal (though weird) to commit multiple times before attaching a buffer.
We should only reset the state if we commit an empty buffer after having committed an existing buffer. This brings us in line with XdgShell.