Currently, if it takes longer than 1/15th of a second to draw a frame,
the next frame will be queued before it has a chance to finish, which
then takes longer than 1/15th of a second to draw, so the next one gets
queued, ad infinitum.
We do two things to solve this problem. First, the timer runs at a
low priority so that a redraw doesn't get queued while a redraw is in
progress. Second, the timer skips queueing any frames that have missed
their time.