gphoto2: Implement pull support

Make use of gp_file_new_from_fd() to copy the file from the device
straight to the local file without copying it into memory first.  This
fixes memory usage issues with copying large videos off devices.

A positive side effect is that the progress bar now behaves correctly
when copying a large file.

https://bugzilla.gnome.org/show_bug.cgi?id=642814