Add sampling models and a console renderer

Adds a Line model and a Plane model that are used for sampling from
a noise source.
Adds a Console renderer that renders a Plane model to the console using
gradient characters.
Re-orders some of the code.
Add Ridged Multifractal noise

Adds ridged multifractal noise, that produces ridges. Not sure if the
implementation is correct, but it's hard to check.

Also allows the console renderer to handle values outside of the -1 - 1
range by just clamping.
Move example to right place
Merge pull request #20 from cmr/ridged

Rebase of #10