When I added the "Windows" node to contain all the windows, it started
blocking the inputs to the game window because it covers the entire
window and its mouse_filter was set to block.
Before this, if the headers of two windows overlapped and you clicked
and dragged in that overlap, both windows would move at the same time.
After this, only the front window gets dragged. The way that this works
is that we use _gui_input instead of _input. This works because
_gui_input is only sent to the top-level control.
The Inventory window was created directly in the desktop scene but it
needs to be a template we can instantiate so I've moved it into its own
PackedScene.