Fixes #3312. If BGRA is not supported then we use RGBA as the internal texture format. Since GLES is not able to swizzle texture data during upload, we used to also pretend the external format was RGBA in this case. This resulted in the red and blue channels appearing swapped, but was better than not working at all. This workaround got lost, however. And then an assertion was added to prevent us from trying to swizzle during upload on GLES. This change removes that assertion, and instead reinstates the workaround of using RGBA as the external format. This means that on GLES devices without BGRA support (such as the android emulator) red and blue will once again appear swapped, but will otherwise work.