This patch fixes GList handling.
changes are:
   * g_list_remove_link (A, B) ==> A = g_list_remove_link (A, B);
   * avoid to reference to "next" member of removed list int gtkselection.c
   * fix memory leak in gtkselection.c and gtktext.c
   * change g_list_free to g_list_free_1 at some place
   * replace direct list handling code with official g_list_* functions