Add uint for scalar shader variables. This also fixes a dangerous bug were the uint would be implicitly converted to int and if the most significant bit was 1 then the final value would be very wrong.