backend navigation update

I've added some of the features discussed on this list to the
navigation framework:

  * events now have a key attribute: an ascii char | 'control' |
    'shift' | 'alt'. I yet haven't exposed key_press_event to
    mpl_connect though this isn't much more work. I did this
    primarily so I could find out if 'x', 'y' or 'control' were
    pressed during pan/zoom right click events. As discussed before,
    these three modifiers constrain the interactive zoom to x only, y
    only or proportion constrained. I also am not currently handling
    key presses with modifiers but this is only a but more work - this
    can wait until key press is exposed through the mpl_connect
    interface.

* dynamic update - an optional method dynamic_update refreshes the
   canvas during the navigation mouse move event.

* rubber banding - a visual rectangle using native drawing for zoom
   to rect. Optional method is draw_rubberband.

All of the above are implemented in wx* and gtk* in CVS.

The major outstanding issue re navigation is multiple axes selection.
Still ruminating....

I'd like to get all this wrapped up by next week if possible for 0.61.
There are some fairly important bugs in the last release (notably the
wxagg segfault on window resize) as well as nifty new features since
then (toolbar2, svg fixes, ps mathtext!!) that should be roaming free
in the while rather than caged up in CVS.

JDH