Use an actual function for FunctionNoise, instead of a closure.

Signed-off-by: Atheriel <atheriel@gmail.com>
Moved cgmath content to a module, so that one does not need to
explicitly include `extern crate cgmath` at the top of every use of
this library.

The module is called "vectors" at the moment, but this may change
when re-exports of rotation and quaternion primitives are included
in the future.

Closes #9.

Signed-off-by: Atheriel <atheriel@gmail.com>