Yeah, me too. But we don't talk of a rich app framework here, windowing capabability are minimal, when you create a window, you don't want some dummy callback window or other non visible things. That's why at first sight, I didn't see the point of empty ctor (and for the previous reason too).
But i'm agree with you, if I drop invariants stuffs, there is no reason to not provide an empty ctor. =)