fixed a gazillion bugs
added ringbuffer for image buffering
added crossfades between images
TODO: make speed independent from buffer granularity