Improves GLProgram

Adds vetex attrib bind class
Adds license to VertexAttribBind
fix the include error
Merge branch 'newV3' into improved_glprogram

Conflicts:
	cocos/2d/CCGLProgram.cpp
	cocos/2d/CCGLProgram.h
Improves code a little bit
Improvements for Attributes and Uniform API
use proposed vertex attribute api
Improved API for Uniforms
beautify Uniform and VertexAttrib
Improved samples
Adds GLProgram::createXXX()
Merge branch 'v3' into tony_improved_glprogram
Lots of new code

Adds GLProgramState
Merge branch 'improved_glprogram' of https://github.com/super626/cocos2d-x into improved_glprogram
Uniform is a struct
useCallback to false
Merge remote-tracking branch 'cocos2d/v3' into improved_glprogram

Conflicts:
	build/cocos2d_libs.xcodeproj/project.pbxproj
Merge branch 'improved_glprogram' of github.com:super626/cocos2d-x into improved_glprogram
Yeahhhhhh

it is working
Simplified VertexAttrib