when opening images, convert them to RGB internally (in memory).

This simplifies future operations on the image, such that we don't
need to handle specific cases of different spectrums.
fix 'rotate' bug. close #22