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
