media preview fixes

* Load Bitmaps asynchronously instead of lag on the main thread for sometimes more than a second, oops.
* Never load bitmaps that exceed the device's supported max texture width/height. This stops crashes when previewing images that are received or sent which exceed these device constants.
* Show an error message in place of the image instead of a Toast, giving them chance to hit save before going back.