Byte-order bug in Image::_write{BMP,PNG} and Image::_load{BMP,PNG}.

Byte-order bug in Image::_write{BMP,PNG} and Image::_load{BMP,PNG}. I
assert that the one true byte order makes B the least significant byte
and R the most significant. A is more significant than R for 32-bit
images. Not sure how I didn't catch this, though I recall thinking
libjpeg was funny sometime last year when I first worked on this code.
Need a verification suite to make sure all of the platform-specific
abstractions are correct [e.g. OpenGL, libpng, jpeglib, fftw].