Exposes closable state in the window model and adds tests. This was
included in the protocol and interface, but missing from the model.
NOTE: I decided to call this one "Closeable" because that's what it
was already called in kwayland, however the e/no-e mess is getting
worse and there's no hope for fixing it because we have different
styles in API-stable code already. I'd prefer to do the right thing
for any added lines of code, which to me is naming it "Closable".
Martin, I think you need to make a maintainer's decision on this
(doesn't matter which, as long as we pick one) to allow all of
these revisions to progress.