add render subdir
fix nullptr errors in old gcc
add version class
add pedantic flag
better shader version detection