Updated the choose_string primitive.

  We correctly draw the choices, and allow tab-navigation.

  This means we can now start using this when there are ambiguities in
 the TAB-completion code.