Add more informative error reports for shader compiling.
Fix shader compile error on nVidia drivers.
Fix OpenGL attribute setting calls failing on nVidia cards.

We have to create a vertex array object that will store attribute variables (which is not required for some reason on ATI). Also, infamous "glewExperimental" switch strikes back. Without it the glGenVertexArrays() call causes memory access violation.