Significant rewrite of crop() and resize() methods
- move actual image manipulation to output()/save() so we can handle transparency better
- this allows changing between image types to work properly
- output header when rendering image directly in browser
- fix crop() method