fix(avatars): integrate the profile images backend

We shouldn't merge this before the dev backend is ready: https://github.com/dannycoates/fxa-dev/issues/24.

Fixes #1556.
Lines 80-91 took a bit of time for me to decode.  Could the `toBlob` section be put into its own function that returns a promise that can be chained off of for better readability?
e.g.:
```
toBlob(img...).then(function(data) {
  return self.profileClient.uploadAvatar(data);
}).then(
```