Added code to draw a shadow behind an annotation if the attribute Cshadow is set.
This is not suitable for matplotlib merging.
Removed pkg_resources to satisfy pyinstaller.
Added a callback inside of axes3d's mouse press/release/move methods, so that the application
can be notified when rotation and zooming is taking place.
Swallow exceptions that occur when the arrow length is too short for MPL to draw it.  Note that
I was unable to replicate this bug on linux as of 11/12/2011, so the root cause of the exceptions
might be fixed.

So, that makes this patch optional, and should be tested back out.
Disabled the setting of text in the mouse_move method of NavigationToolbar2.  This is just for
a small efficiency gain (cut down on processing during mouse_move), and should never be merged
back to master.
In the artist hitlist testing, protect ourselves from exceptions.  If an exception is caught, just act like
the artist doesn't contain.

Conflicts:
	lib/matplotlib/artist.py
Shield ourselves from exceptions in artist pick method.

Conflicts:
	lib/matplotlib/artist.py
Do not attempt to get mouse capture if we already have it.
Be careful about cleaning entries in the callback list that do not exist.
Guard against Infs in the input data for colors.Normalize.__call__.
Disabled distutils/ps.distiller/usetex.  This is necessary to avoid PyInstaller searching these packages for
dependencies.

Conflicts:
	lib/matplotlib/__init__.py
Remove unneeded import of plt.
Do not set_top_view in autoscaling of a 3D plot, if the autoscaling is currently
turned off.  Just return.

Conflicts:
	lib/mpl_toolkits/mplot3d/axes3d.py

WARNING: need to directly test. Code is not the same as 1.1.1-sauced.
Fix ticking problem in 3D plots.

Conflicts:
	lib/mpl_toolkits/mplot3d/axis3d.py
Project against nans and infs in 3D projections.
LocationEvent_catch_exceptions.

Conflicts:
	lib/matplotlib/backend_bases.py
Reactivate alpha for 3D scatter, as well as giving us a better way to override the
alpha-shading by distance.
I had a problem where, during a zoom operation, if you clicked anywhere on the graph
 (without drawing a rubberband), you couldn't go back and click the zoom button off, unless
 you went back and drew a rubberband.

 This was for both left and right clicks.
Add a custom hook OnMouseUpDuringPan so that we can catch this event (during a pan via the graph toolbar)
The contains method for a Patch didn't use the picker to determine how far away from the patch the contains
method should go.  I believe that without this, the user had to place the mouse exactly on the stem of an arrow,
for example, and that's hard.  There needed to be some fuzz around the arrow stem in order to make the picking
easier.

NOTE that this patch may not be entirely correct, because I think I think that get_picker() returns something in
points, and that should be converted to pixels.  But it works well enough for me to ignore that.

Conflicts:
	lib/matplotlib/patches.py