fixes minor GL shader catches

1. we're not drawing an empty vbo

2. we're checking for the shader to be loaded before we disable veretxattribarrays

3. we're checking whether we have a correct vertexattribarray location for 'position' before disabling the 'position' attribute (we were doing these checks for all other attributes before, and this additionally covers the special case when the default shader is bound for the first time upon App start and there was no previous shader bound)

Signed-off-by: tgfrerer <tim@poniesandlight.co.uk>