Enable app syncing

Fixes #16.

I've changed some of the structure of `GalleryClient` to enable reuse, so #22 would probably benefit from a Rebase.