This new version:
1. Works on 24-bit and 32-bit input, not just 32-bit.
2. Doesn't try to run on 16-bit or 8-bit, instead of outright crashing.
3. Does proper alpha-blending, so cursor shadows look correct.
4. Doesn't swap R and B.
Mostly fixes issue 1997.
Fixes issue 2056.
Originally committed as revision 25690 to svn://svn.ffmpeg.org/ffmpeg/trunk