fleshing out uniform types and type checking
ensuring shaders work with ANGLE (which seems to require precision qualifiers)