Start of test suite, image code refactor.

  * Moved image conversion code from class into standalone functions.
  * Added write_rawimage_to_flash() which writes a raw image to flash.
  * write_image_to_flash() now simply calls _bmp_to_raw() and
    then write_rawimage_to_flash().
  * Added sample 320x240 image(s)
      * testpattern.png is a 320x240 png created from http://en.wikipedia.org/wiki/File:SMPTE_Color_Bars.svg
      * testpattern_rgb565.bmp created from testpattern.png
      * testpattern_rgb565.raw was the raw image that was created from
        testpattern_rgb565.bmp (and loaded into a real device and
        visually inspected).
  * Added test suite, just one test, it tests bmp to raw conversion
    of test pattern
raw to PIL image (convert raw into png).
Useful for debugging.
Added (dimension) sanity checks to raw write/send routine.
Implemented PIL support for image writing, no longer rely on ffmpeg.
test for pil image to raw. Raw image visually inspected on device.
write-image can now take ANY image size (that fits into desktop memory).
Updated write-icon to use PIL.
Allow "non-standard" image/icon sizes to be written to flash.
Merge pull request #9 from clach04/image_refactor

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