First stab at working code.

Another go, not beautiful, but handles all the edge cases I can throw at it:

* normal blur without submit (run email validation)
* click submit (run full form validation)
* press down on submit button, but drag off (run email validation only, no submit)
* press down on submit button, but drag off outwith browser chrome (run email validation only, no submit)