Add functions for implicit grant

Added `authorize_password/7` to aid in implementing `implicit_grant`(4.2)
To validate a public client(just validate the redirection_uri) and a
authenticate a user and issue a token use:

```erlang
{ok, {Ctx, Auth}} =
    oauth2:authorize_password( CLIENT_ID
                             , CLIENT_SECRET
                             , CLIENT_REDIR_URI
                             , UNAME
                             , UPWD
                             , USCOPE
                             , CONTEXT ),
{ok, {Ctx, Response}} = oauth2:issue_token(Auth, Ctx),
```