Better handling of Enter key in the login / create new character forms

If the form is filled out, pressing Enter should launch the game (either logging in as an existing user, or creating a new one, depending on which form is active).  If a field is missing, Enter switches focus to the first missing field.

Refactored some of the bootstrap logic to remove code duplication - tryStartGame is now responsible for reading out the form fields (rather than all 6 places that used to call tryStartGame).

Also added some basic validation for password fields not matching (fixes issue 116), and invalid-looking emails.