Check for GL_FRAMEBUFFER_UNSUPPORTED error from glCheckFramebufferStatus

According to the OpenGL ES 2.0 spec
(http://www.khronos.org/registry/gles/specs/2.0/es_cm_spec_2.0.24.pdf),
CheckFramebufferStatus can return FRAMEBUFFER_UNSUPPORTED if e.g. the
texture isn't a color-renderable format. We should throw in that case,
not silently fail to work. Also throw for any other cases that aren't
FRAMEBUFFER_COMPLETE; according to the spec there shouldn't be any.

Also add some documentation about officially supported formats. In
particular, RGB888 and RGBA8888 do work on many devices, but aren't
listed in the spec as color-renderable formats.