Noise Update

Switch noise generation over to using fused multiply-add in many places,
which should slightly improve performance and should decrease precision
loss.

Fixed a typo in a comment.

Generalized the gradient generator such that its gradient line no longer
has to begin at the origin.

Added a ridged multifractal filter and a combine filter.

At some point "simplex.hpp" will be renamed "noise.hpp" since it no
longer deals specifically with simplex noise.