For anyone else looking to solve this problem in the future - the key is to create a byte array that is twice the size of the image and using Buffer.BlockCopy to write into the top and bottom portion of the image from each camera respectively.
int image_size = (int) (e.image.leftImage.width * e.image.leftImage.height * e.image.BytesPerPixel);
byte[] image_buffer = new byte[image_size * 2];
Buffer.BlockCopy(e.image.Data(Image.CameraType.LEFT), (int)e.image.ByteOffset(Image.CameraType.LEFT), image_buffer, 0, image_size);
Buffer.BlockCopy(e.image.Data(Image.CameraType.RIGHT), (int)e.image.ByteOffset(Image.CameraType.RIGHT), image_buffer, image_size, image_size);
And then apply this byte array to your Texture2D (Remember the Texture 2D should also be twice the size). You would then see the left and right IR camera images on a single texture on a single quad. Hope this helps.