Added support of a singleton downloader

This commit provides Facebook image downloading as a singleton
instead of embedding it into each model, leading to less
concurrent write access to the db and collisions between
downloading tasks.