Added StrDisplayNameMixin to many widgets.

StrDisplayNameMixin uses the __unicode__ or __str__ methods of the
widgets to create the display_name.  This is better than using a lambda
in the DisplayNameMixin because it forces the programmer to also write a
__str__ method for the model.

I also took the liberty of placing the Meta classes where I felt they should be.