Use Core Image to load/save images

On OS X and iOS, we're now using platform-specific code for loading and saving images. This allows us to avoid linking to libpng (and libjpeg when we introduce it)