Corrected the implementation of vec4::round

Currently, only 2 values are failing:
 0.499999... returns 1 instead of 0
-0.499999... returns -1 instead of -0