NewNormal varying limit fix attempt

- Passing few matrices instead of many vectors
- Some of the vertex shader's math was moved to the fragment shader
- Removed if statements
Thanks to MegWATTT for reporting