1st pass ImageShape

- added ImageShape, ImageCommand
- images have a backing rectangle and a drawing over the rectangle, but
under text.  Images will maintain their aspect ratio.
- moved panZoom scaling into the Shape.draw() base class and removed it
from the derived classes
- added some *return this* to support method chaining