When the animation timer "ticks" it throws an event which is caught here. Every event
indicates that the animation clock has moved forward one timestep (i.e. one animation frame,
or slice, or whatever). Accordingly we get the next arraylist of slices from the animation
queue (here an arraylist) and write out the appropriate values to the serial port. When done
we remove the just played elements from the beginning of the list.