This change adds a logic to save GPU resources at GLSurfaceView.onPause
as a precaution, and restore GPU resources from it when a context lost
happens. This can fix issues where a context lost often occurs when an
interstitial ad is shown.
This change doesn't add any new APIs and do this resource reservation
automatically.
Closes#3215
On Android Emulator (Small Desktop API 32), EbitenRenderer can be
easily recreated by resizing the window. Thus, EbitenRenderer should
not have any flags like strictContextRestoration. Also, the flag
onceSurfaceCreated_ doesn't work there.
We found that an app freezes for a little while when resuming it.
In order to improve user experience, always use
setPreserveEGLContextOnPause(true) whichever StrictContextRestoration is
true or false.