Fix for SDL_MapRGB(A) returning wrongly packed pixels

SDL_MapRGB(A) returns the RGBA value big endian packed, while the canvas expects it in little endian.  This commit reverses this and fixes #761