SwingUtil.setWaitCursor(): improved by consider keyboard input (e.g. TAB key) and possibility to add KeyListener to react on during wait cursor state