Add Mail.init_mail function to decouple initialization

This would allow to initialize a `Mail` class by just using a dictionary
with the required configuration, thus decoupling this from the *Flask*
`app` object.

```python
config = {
    'MAIL_SERVER',
    'MAIL_USERNAME'
    (..)
}

mail = Mail()
mail.init_mail(config)
```

This is sometimes needed when using the Mail object from parts of the application where `app` is not desired to exist, such as queue tasks or delayed jobs.

This **does not** change existing interface, just adds a `init_mail` method to the `Mail` object.