Is `uname -r` available everywhere we need it to be, and how does this behave if it's not? In particular, the calls will almost certainly fail on Window, but I'm not sure precisely how things will react here to that failure.

Maybe over-engineering too, but even at this early stage I might pull these sorts of version/OS checks out to a separate module/class rather than baking them into a particular class like `Shoes::Swt::App`.