shaders: try to use same naming convention
primitives: rename cube into box
Viewport: breaking change 
* expose private field for reading (test, alias in shader,...)
* rename Viewport into ViewportCamera
* CameraInfo add orthographic support (not tested)
refactor: move FrameBuffer functions from ProgramRunner into class FBO
demo: update 
* apply change in glf
* experiment new shader for light, post
gitignore *.out (generate by glsl-optimizer by default)
add image used by demo
demo: allow to test several dissolveMap (not-optimal)
demo: add normalmap in demo3 + 2 matcap texture