Fix upload progress bar [fixes #149]

Now we upload each file as a separate request and handle progress
manually rather than rely on the 'progress' event.

Also, failed picture uploads now show as an error.