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

Yeah, I have heard @aturon talk about this before - we need a better conversion API. This will make lots of this stuff much nicer.