Tries to make temporary windows behave as follows:
* Always on top of its parent Blender window, but not on top of
non-Blender windows.
* Minimize with its parent window
* Can be moved independently
* Doesn't block other windows (we may want to have this though)
There are some differences between Windows and Linux (can't tell for
macOS), I'd like to have them as similar as possible though. Some more
things to note:
* Temporary windows don't stay on top of all Blender windows, only on
top of its parent window (the one it was created in).
* On Linux the temporary windows don't allow minimizing and maximizing.
GTK and Qt have the same issue (if we consider it one).
* I didn't find a way to disable minimizing and maximizing popup
windows on Windows. Minimizing behaves a bit weird in that it\
minimizes within the main window.
* I didn't implement reparenting, so that e.g. when the file browser is
invoked from a different window, the browser stays on top of that
instead.
* I left in some code for embedded child windows, but we don't use it
(was for game engine). I'd suggest getting rid of it first
(GHOST_TEmbedderWindowID).
The macOS implementation is just a wild guess from looking at the docs
(which aren't too helpful really), it'll probably have to be implemented
differently.