Text and surfaces are in VBO now and bug fixes

-All draw_text and draw_surface functions are now using batching with
VBO.
-Fixed surface_set_target() so it works even when called in succession
without surface_reset_target() (often done).
-Added VBO clearing in blend mode functions. Will probably change later.
-Removed GLEW_EXT_framebuffer_object checks from GL3, as not supporting
FBO is not really an option in GL3.
-Added back surfaces changes which Robert reverted.
-Fixed sprite_width, sprite_height, sprite_xoffset and sprite_yoffset to
take into account scaling (just like GM, although its documentation
doesn't say that).