cleanup code, using c+11 foreach loops,

aggregate initializer lists where possible, removed old code, tested
dragging points (possible just needs surface normals), smoother fxaa due
to using GL_LINEAR_MIPMAP_LINEAR, shader now takes in previewer
parameter (on/off), thickness for toroid and whether toroid is enabled,
capping algorithm also complete (making use of frontfacing/backfacing
fragments of superquad and selected mesh), duplicated superquad code in
pre-pass shader, shader0.frag to repeat the cut so that the superquad
would be visible when rendered to the fbo,  depth is linearized before
sent, new uniforms sent. Default uniform values are important (had a bug
where iselem and selected could both be on at the same time - this is
wrong!!) But it is fixed now by setting default values for every item.