TimeoutUserInput — User Input with Timeout
Waits for the user to click some button, close the window or activate some widget that has the
`notify option set or until the specified timeout is expired. The return value is the id of the widget that has been selected or
`cancel if the user selected the implicit cancel button (for example he closes the window). Upon timeout,
`timeout is returned.