Fix ScreenUtils reading pixels outside the framebuffer

Currently, getFrameBufferTexture calls glReadPixels to read pixels to a potted pixmap bigger than screen size, assuming what pixels laid outside the framebuffer will simply have values of 0.
It's true on desktop, but on some android devices, the pixel data is totally wrong.

FramebufferToTextureTest on HTC Desire C:
![Bug](https://f.cloud.github.com/assets/3694019/1934419/e9ca9d92-7ee9-11e3-84d1-faf540b08d5f.png)

And as noted in http://www.khronos.org/opengles/sdk/docs/man/xhtml/glReadPixels.xml, "Values for pixels that lie outside the window connected to the current GL context are undefined"

This fix fixes it.
![Fixed](https://f.cloud.github.com/assets/3694019/1934965/7a79b2a8-7ef2-11e3-9876-c58db52d608e.png)