Impoved text input and added hotkey archiving to state history, also
separated mouse input from View