Added drawsquare, drawrectangle, and new holes arg in drawpolygon

The holes arg allows a polygon to be drawn with holes in it.
Submod restructuring, changed Image() init, and new coordinate transformer

Image (args) is now all that's needed to load or create a new image.
Also moved all testing to tester module.
Automatic conversion from user coords to pixel coords

Coordinate system drawing (axis in matplotlib terms) is now supported:
If a coordinate system instance is passed to the image, then all
subsequent drawing coordinates will relate to that coordinate system
(instead of pixels) and be automatically converted to pixel coordinates.
Added drawgeojson method

Draws any object that has the __geo_interface__ property. Currently only
draws for polygon and multipolygon...
Completed support for all geojson types
Organized fileformat mods, and fixed polyhole error
Finally fixed coordinate transform