Add additional handling for low-memory devices

When I was using this on my Droid 1, I ran in to out of memory errors. Although it's not perfect, this does improve the situation dramatically. If Android's memory manager reports that the device is low on memory, it uses a high inSample to decrease memory use when loading bitmaps from a downloaded stream. Additionally, in the OnCompleteHandler, it now will catch an OutOfMemoryError instead of simply crashing.