Fix crashes related to large background bitmap

    load background bitmaps in a custom AsyncTask
    
    In order to support devices that do not have tons of RAM, dynamically size
    the background bitmap when loading so only what is needed is stored in RAM.
    Also, there is a much stricker limit of memory allocation when operating in
    the main UI thread.  More info here:
    
    https://developer.android.com/training/displaying-bitmaps/load-bitmap.html
    https://developer.android.com/training/displaying-bitmaps/process-bitmap.html
    
    fixes #4277 https://dev.guardianproject.info/issues/4277