Reorganization of styles classes in patches.py

Hi,

I just committed a patch (r6480) that reorganizes those transmuter
classes (used with fancybox & fancyarrows).
There are now three container classes (BoxStyle, ArrowStyle and
ConnectionStyle), and the trasnmuter classes are defined as subclasses
of these container classes.

With this change, the styles can be specified as any of the following
ways, although the last two may not be recommended.

  text(0, 0, "test", bbox=dict(boxstyle="round,pad=0.3"))

  text(0, 0, "test", bbox=dict(boxstyle=BoxStyle.Round(pad=0.3)))

  text(0, 0, "test", bbox=dict(boxstyle=BoxStyle("round,pad=0.3")))

  text(0, 0, "test", bbox=dict(boxstyle=BoxStyle("round", pad=0.3)))

Same for ArrowStyle and ConnectionStyle.

I also added two related examples.

   examples/pylab_examples/fancybox_demo2.py
   examples/pylab_examples/fancyarrow_demo.py

They show available boxstyles and arrowstyles, respectively.
I'm attaching the output figures.

Please let me know if the names I chose for the styles are funny or
don't make sense. Any suggestions will be appreciated.
Also, I tried to put some more documentation, although there should be
a lot of grammar and wording issues.

Regards,

-JJ

fancybox_demo2.png

fancyarrow_demo.png