Fix a memory leak with IdleAdd.

This change runs the removeClosure function to remove a closure
context from the internal closures map when glib finalizes closures
created for the IdleAdd function.  A similar change was made to stop a
leak in Connect, but remained in IdleAdd.