planetarium/terrain.scm: Produce a properly shaded sample.
Set the light position in the draw method. The position is stored in
eye coords and must be updated when the eye moves. Use a directional
light. Do not cull back faces.
Fix normal to use the height change (not absolute height!) to east,
west, north and south. Add more normal tests.
Fix write-sample-terrain to produce the correct number of samples.
Support an optional height->color function. Change height-color to be
such a function. Merge draw-colored and draw-shaded into draw-mesh;
conditionally use gl:color-material.
Fix bounds of data plotted. Since heights adjacent to edges are
imagined flat (not undefined), ALL heights can be used to form quads.