Adding Shades Keyword to 3D routines.

Ok, I forgot my attachments would be stripped. Links:

Output of (should explain why I want this patch)
Example code
Edited mpl source... just proof of concept... still has to be cleaned up.

Also, upon looking at colors.LightSource, I think this doesn't really need to be changed for 3D except it would only work for regularly spaced data... might be a nice enhancement to supply the X and Y arrays as well as Z so it can calculate gradients for irregularly spaced grids.