GLES2 translaotr: fix glLinkProgram and object names

Do not allow glLinkProgram to succeed if only one shader type has been
attached to the program, GL allows this, but GLES2 does not.
added state tracking for program objects to check which shaders are
attached to the program object.

add a way to define object data type being held for each object in objectNameManager
ProgramData and ShaderParser are both valid objectData for objects in SHADER namespace
we need a way to determine object type to generate correct errors

Change-Id: Ic232549df0bb6daf6ec528cb039482cd68e896bb
12 files changed