JavaScript implementation of a GIF 89a encoder and decoder