Restore user input

These changes save any user input in a new variable named search_input. The user input is restored to the search field whenever the field regains focus, including after a result has already been selected. This allows the user to more easily correct their selection or continue where they left off should the field lose focus for any reason (either accidental or purposeful).

If this is not the desired default behavior, I do believe that this would be beneficial to have as an option.