Only add resized bitmaps to the memory cache, keep originals on disk.

Since the disk cache is shared between the activities that show
thumbnails and the "Now Playing" activity this ensures that the "Now
Playing" activity doesn't show resized thumbnails of the artwork,
while still benefiting from the disk cache.

Create addBitmapTo{Memory,Disk}Cache methods, reimplement addBitmapToCache
in terms of them, and only add the processed image to the memory cache.
Override onDraw(), handle recycled bitmaps.

onDraw() is occasionally called even after the bitmap has been recycled
(i.e., cache and imageview reference counts have dropped to zero).  This
shouldn't happen.

Handle it gracefully, otherwise an exception is thrown when the Canvas
tries to draw a recycled bitmap.
Manage the image cache over the activity lifecycle.

- Create the image fetcher and cache parameters once, in onCreate().

- Attach the cache to the image fetcher in onResume().

- Close the cache, removing it from the image fetcher, in onPause().