setup file structure and start on abstract context
* provide message handler
* provide initial template
* provide placeholder for glow and qt contexts
* start on viewer class
* support glwhite meta information (version, git hash, etc.)
continue on basis architecture
* canvas manages painters
* initialize painters with a gl format that now is QSurfaceFormat
* store format per canvas
* start on debug painter concept
* either debug mode or one single painter is active in canvas at a time
* painters do not handle input events
ref #1 continue on basic architecture and file structure
* ref #6 prepare context sharing architecture
* ref #2 logging via message handler tested
ref #2 fix append to log