Issue 1459 avatar functional tests

This depends on #1512 (only the last commit is for this PR). This mocks out some client side functionality, like capturing webcam images and selecting a file from the filesystem.

Fixes #1459.
Fixes #1494.
Not without getting really low level, but that's covered in the unit tests.