Fix dialog rundown issues causing spurious crashes
Don't destroy dialogs until we're really finishing
Park for a bit if there's nothing to do
Improve input device detection