Image refactor, use PIL (with ffmpeg as backup), handle any image, any size, start of test suite

Adds PIL as an optional dependency.
Added a test for the existing _bmp_to_raw().