Download image data in a separate thread.

Use GCD with blocks to grab image data in a separate thread when it is
to be displayed. This way it doesn't block the UI when pushing the
PhotoViewController.