Fix math.random() to handle floats properly

Floats should be turned to integers in math.random().

For instance: math.random(0, 0.5) should always return 0.