Fix two-letter pickup window

Fixes #7358 - `string_input_popup` has two int parameters: the width of the text window and the maximal length of the returned string. The window is now 3 cells width and the maximal input length is 2 (this allows to display the two letters already entered by the user and the trailing underscore).

But as the underscore might indicate that more input is possible, the underscore is suppressed when the maximal input length has been reached.

So it looks like this now:
`[underscore(blue background)] [underscore(black background)] [empty(black background)]`
after pressing a single letter:
`[first letter(black background)] [underscore(blue background)] [empty(black background)]`
after pressing another letter:
`[first letter(black background)] [second letter(black background)] [empty(blue background)]`

Blue background indicates the cursor.