Lots of cleanups, and return T: Float from noise functions

Just this:

    let value = func(seed, &[c(x), c(y)]) as f32;