Initial commit

Most of this was transfered from Images.jl, but then heavily reworked
to support fixed aspect ratios and zooming. These basic functions
work, but they are not yet hooked up to the mouse.