Login form improvements:
  - display an error msg when it fails
  - add a spinner