Pass correct buffer sizes to readPixels

Take into account sizes of GL_FLOAT/GL_INT while calculating buffer sizes being passed to readPixels
I don't think this is needed - HEAPU16 elements are of size 2, so we don't need to multiply by two? Do you have a testcase showing the issue?