Bitmap decoding in AsyncTask

* Decode images in background rather than on UI thread
* Fix some sampling issues
* Fix some memory issues