OpenGL Optimalisation 6
A few miscellaneous mini changes.
Changes:
- Don't render twice when scaling to a node
- Optimise the interaction handler code (since I found out that it could take advantage of some of the state update changes).
- Visualisations now get to decide if they need antialisaing or not (should be a no if only shapes with a specialized shader are used).
- Show a warning to the user if they are zooming into floating point rounding error territory (once per visualisation only, might require some fine tuning from someone with more angular/material experience).
- Switch to WebGL 2 for a free 7% performance increase (apparently).
part of #207 (closed)