Issue 1527 avatar load transition

This refactors the button progress indicator into something more generic and uses that to implement progress indicators for profile image loading.

Fixes #1527.

@shane-tomlinson or @nchapman r?
Do you want to leave the console.log?