1.8.8 regression fix
Works around WebGL scaling regression in Firefox/macOS by disabling the "stripe" mode texture unpacking in yuv-canvas. Partially offset the reduced performance on some platforms by fixing the non-stripe code path to use gl.texSubImage2 to update existing textures to reduce texture churn when existing textures can be reused.
May lead to increased CPU main thread usage on recent macOS and iOS releases; the newer OpenGL-on-Metal implementation seems to convert these textures slowly on upload. But it still performs well for resolutions that decode well.