ContainerInteractive widget for asking the user questions.
Supports text input and multiple choice questions. Multiple choice questions always include an "Other" option for free-form input.
Set the future to resolve when user answers.
Focus the current active question's input.
Confirm the question whose text area was submitted.
Confirm the answer at index and advance to the next question.
Navigate to the next question without confirming.
Navigate to the previous question without confirming.
Keep the active-question highlight in sync with focus.
A mouse click moves focus into another question's text input, or onto
the question container itself for multiple-choice (whose choices are
not individually focusable), without going through
_set_active_question, which would otherwise leave the highlight on
the previously active question. Sync the highlight to the focused
question so exactly one question is ever active. Focus is not moved
here, so the widget the user clicked keeps focus.
Retract the Ctrl+X hint when focus leaves a text area.
Prevent blur from propagating and dismissing the menu.
Message sent when user submits all answers.
Message sent when user cancels the ask_user prompt.