Adding Shades Keyword to 3D routines.

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

Output of surface3d_demo.py (should explain why I want this patch)
http://static.ryanjwagner.com/mpl_patches/lightSource.png
Example code
http://static.ryanjwagner.com/mpl_patches/surface3d_demo.py
Edited mpl source... just proof of concept... still has to be cleaned up.
http://static.ryanjwagner.com/mpl_patches/axes3d.py

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.
-Ryan