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.