fix crash bug in UI::TextEntry; m_cursor out-of-range after calling SetText
emit UI::List::onOptionSelected on click even if selection hasn't changed
don't auto-select the first item of a UI::List in AddOption
allow List::SetSelectedIndex to accept a negative number to clear selection
only allow saving to trimmed, non-empty filenames. fixes #2494