Updates shader loader to handle geometry shader; better errors; more doc