Adds a new `Window` and `Space` abstraction to make it easier to handle windows of various shells and their positions in a compositor space.