ijiraq/MOP — pull request #172 by drusk (2013-08-08 22:36:09+00:00)
Title: Redesign fitsviewer

Redesigned the fits viewer to use a DisplayableItem interface, where DisplayableItems know how to render themselves. Currently there is a DisplayableImageSinglet implementation. This should allow a DisplayableImageTriplet class (#145) to be implemented and integrated with the viewer more easily.

This redesign also had some other benefits:
-simplified figure and colorbar management
-matplotlib figures are now cached (closes #141)
-DisplayableImageSinglets can be rendered with or without a wx canvas

This last point allowed adding a utility function for displaying arbitrary astropy HDULists. Example usage:
```
from astropy.io import fits
from ossos import fitsviewer

hdulist = fits.open("/path/to/fits_file.fits")
fitsviewer.display_hdulist(hdulist)
```