Now drawing using VBO, bug fixes, compatiblity

-Sprites and backgrounds are now drawn using a global VBO. It gets
populated in the drawing functions and is drawn when texture switch
happens or when the drawing event ended (so it works even when only 1
texture is used in the whole game). This increases drawing performance
by about 2.5x-3x on average.
-Changed model and primitive functions to be compatible with the way GM
draws them (at least as much compatible we can). That means it works in
all cases the same except when vertex and vertex_color functions are
mixed. In this case it will work slightly differently as discussed here:
http://enigma-dev.org/forums/index.php?topic=1375.0
-draw_sprite_tiled functions are fixed in both GL1 and GL3. They were
buggy and drew incorrectly.
-Alpha is now gs_scalar as well. Reason being that in GL3 VBO every
vertex attribute (so x,y,tx,ty,r,g,b,a) is pushed in the same
vector<gs_scalar> and so less casts are needed. Of course this can be
reversed if it somehow interferes with something else.