timeline: fix leak of timeline source
g_source_destroy doesn't free memory, just removes the source from its main context. We have to do both. (g_source_unref() might call g_source_destroy() if it has the last ref, but if something else has another ref, then disaster could result if we don't call it manually.)