add fragment shader precision switch to fix mobile chrome beta bug