Add OAuth2 backend

The backend is customized to support the following features:

- Email can be used as a user identifier in the OAuth2 username field.
- Trusted clients do not require the user consent and redirect automatically.
You are right. I'll take it out. Actually, the default scope in `django-oauth2-provider` is 1, hence the `OAUTH_DEFAULT_SCOPE` value below.