Teach rand_i to return a float rather than an integer:

This is because SuperCollider likes floats, also, Ruby is borked when you do: 1/4 whereas 1.0/4 works.
Implement rand and rand_i to work using the seeded random_generator:

* Fixes behaviour of rand so that rand(0.4) produces sane results
* Coerces result of rand_i to a float so that it may be sanely divided i.e. rand_i(2)/4 will work properly.

Thanks to Tim Regan for pointing out this issue.