Added ResumeManager so something can be drawn whilst textures are reloaded

**How it works**
The textures are now reloaded on a different thread so execution can continue. The AndroidGameWindow._isResuming is set so the optional IResumeManager can be drawn. A default ResumeManager implementation has been provided so users can easily set it up with a custom texture rotating in the middle of the screen.

**Motivation**
Reloading of textures can take a LONG time. Whilst this occurs the user is presented with a black screen and the music playing. This leads to confusion about whether the game may have crashed. Also, when adding full screen ads to a game, these generally cause the GL context to be lost, so when the user dismisses the ad, they are hit with this lengthy texture reload each time.

**Usage**
````
// Create your own implementation of IResumeManager or simply use the
// default one. Place this code in your Game.Initialize() or somewhere similar
#if ANDROID
            AndroidGameWindow droidWindow = this.Window as AndroidGameWindow;
            droidWindow.SetResumer(new ResumeManager(this.Services,
                                                     spriteBatch,
                                                     @"UI\Resuming",
                                                     1.0f, // Default scale
                                                     0.02f // Rotate speed
                                                     ));
#endif
````

Original pull request in case someone wanted to check the comment history: https://github.com/mono/MonoGame/pull/1093