Improve the shader and program classes

Signed-off-by: Aleksi Sapon <QcTechs@gmail.com>
Javadocs

Signed-off-by: Aleksi Sapon <QcTechs@gmail.com>