Move code to get a UTF-8 sequence from input into the input manager.

For the ncurses version this moves the code of utf8_wrapper::insert_from_getch into the input manager. For the SDL version the SDL-event already provides a UTF-8 sequence which is simply used. The previously needed wrapper (commit_next_utf8_byte) can be omitted.

This adds a new member to input_event: the (UTf-8 encoded) text that was entered.
Code that needs textual input (as opposed to only a single keystroke) will use that member.

string_input_win: fix display bugs to properly display multi-cell characters.

is_char_allowed: check with std::isprint, allow any non-ascii Unicode character, disallow slash and backslash as they are path separators.