The purpose is to prepare for a TextureViewRenderer that will share the
EGL rendering code.
Two functional changes are also included:
* The implementation of SurfaceHolder.Callback.surfaceDestroyed will now
block until the EGL surface is released. This is done in order to
comply with the documentation that says: "If you have a rendering
thread that directly accesses the surface, you must ensure that thread
is no longer touching the Surface before returning from this function."
* We will no longer try to hide render glitches during layout changes.
This was a lost cause anyway.
BUG=webrtc:6407
Review-Url: https://codereview.webrtc.org/2399463006
Cr-Commit-Position: refs/heads/master@{#14570}