VideoRendererGui may need to render incoming frames multiple times. We currently call VideoRenderer.renderFrameDone() while we still hold references to the OES texture. This CL makes a deep copy of the OES texture before calling renderFrameDone(). This will truly release the dependency to the incoming frame, so that video textures sources can rely on the renderFrameDone() callback. This CL is a part of the plan in https://codereview.webrtc.org/1357923002/. The texture copy doesn't cause any measurable performance difference on a Nexus 5 using VideoRendererGui in a AppRTCDemo loopback call. BUG=webrtc:4993 TEST=Revert "Enable SurfaceViewRenderer for AppRTCDemo" https://codereview.webrtc.org/1356603004/ and try AppRTCDemo. R=perkj@webrtc.org Review URL: https://codereview.webrtc.org/1370113005 . Cr-Commit-Position: refs/heads/master@{#10157}