Fix for bitmapData.setPixels()

When calling renderer.queueSnapshot(), a buffer overrun („"ByteArray
out of bounds read.“) is logged by ByteArray.readUnsignedInt() after
1/4 of the image data buffer has been processed.

This happens because the bitmapData.setPixels() function calls
inputByteArray.readUnsignedInt() 4 times within a loop iteration, where
it should only request the unsigned int one time and split it into the
RGBA components (like setPixel() and  setPixel32() do).

Also the loops had to be changed (the outer loop iterates over the
y/height, the inner loop over the x/width), and the outer loop has to
decrease the height value instead of increasing it, to compensate for
the different y orientations of bitmaps and WebGL