Refactoring

* Code style
* s/NULL/nullptr/
+ -Wshadow and work with it
+ Maybe easier interfaces for shader creation (implicit compilation and
  linking, specification of shader source file at construction;
  single-line creation is not yet possible, since shaders cannot be
  specified at program construction)