Minor enhancements

Minor 'enhancements'...

* Add signals for `login`, `logout`, and `login_error`. 
* Implement `init_app` pattern common for most Flask extensions