First pass at refactoring image readers. PCX palettes not yet supported, and some bugs yet.