README indent
add release build type
sound check
loading shaders

Introduce reference types for shaders and programs. These only have
moving semantics as they represent a handle to a unique resource.

Note: vstudio 2013 does not support defaulting move constructors and
move assignment operators, so we have to put our own defaults there.
shaders require VAO and VBO in GL 3.2

Introduce resource references for buffers and vertex arrays.

These objects are unique resource references, and only support moving
semantics.

Also introduce With...Scope objects, to activate/enable various
states (program, buffers, blending mode) easily.
asynch loading of shaders from filesystem

Move fragment + vertex shaders into separate files.

- Shaders are loaded asynchronously. The IO part is done in a background
thread, and - the shader definition done in a task of the display
thread.

- split shader loader away from main.cpp
Merge branch 'f-test-shaders'

This branch introduces utility code to load and activate shaders for GL
3.2

* f-test-shaders:
  asynch loading of shaders from filesystem
  shaders require VAO and VBO in GL 3.2
  loading shaders
  sound check
  add release build type
  README indent