feat(avatars): profile images

Getting there! Feel free to start looking @shane-tomlinson @pdehaan.

Still needs:
- [ ] profile-server client
- [ ] progress indicator screen
- [ ] unit tests for camera view
- [ ] unit tests for cropper widget
- [x] circular overlay on cropper
- [ ] functional tests
On the topic of `console.*` errors in the source:

```sh
$ grep -inr "console\." app | grep -v "\(bower_components\|vendor\)/"

app/scripts/lib/auth-errors.js:145:          console.error('Error in auth-errors.js->toContext: %s', String(e));
app/scripts/lib/channels/fx-desktop.js:36:      console.error('no response from browser');
app/scripts/lib/fxa-client.js:44:            console.error('_checkForDesktopSyncRelinkWarning failed with', err);
app/scripts/lib/fxa-client.js:172:                  console.warn('Session.channel does not exist');
app/scripts/router.js:85:      console.log('options route??', options);
app/scripts/views/base.js:400:          this.window.console.trace();
app/scripts/views/confirm_reset_password.js:79:          console.error(err);
app/scripts/views/settings/avatar_camera.js:63:          console.error('An error occured! ' + err);

app/tests/lib/helpers.js:28:      console.warn(message);
app/tests/lib/helpers.js:43:          console.error('error with spy: %s', String(e));
app/tests/spec/lib/fxa-client.js:476:            console.log(cert);
app/tests/spec/views/base.js:455:      it('prints a stack trace via console.trace to facilitate debugging if no error object is passed in', function () {
app/tests/spec/views/base.js:461:        assert.isTrue(view.window.console.trace.calledOnce);
app/tests/spec/views/base.js:462:        view.window.console.trace.restore();
app/tests/spec/views/mixins/floating-placeholder-mixin.js:36:      console.log('val: %s', view.$('#float_me').length);
app/tests/spec/views/settings/avatar.js:59:            console.log(view.$('.avatar-wrapper'));
```