shader: Don't notify properties when finalizing shaders
shader: Don't notify properties when finalizing shaders

clutter_shader_finalize() was calling clutter_shader_release() which in
turn notifies "compiled". GObject was complaining that we were trying to
_ref() an object that was in _finalize().

 #0  g_log (log_domain=0x3e15c4 "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL,
     format=0x76c938 "%s: assertion `%s' failed") at gmessages.h:97
 #1  0x0070777d in g_return_if_fail_warning (
     log_domain=0x3e15c4 "GLib-GObject",
     pretty_function=0x3e37a4 "g_object_ref",
     expression=0x3e2a00 "object->ref_count > 0") at gmessages.c:586
 #2  0x003b862b in g_object_ref (_object=0x8567af0) at gobject.c:2615
 #3  0x003bd238 in g_object_notify_by_pspec (object=0x8567af0, pspec=0x87ea2f0)
     at gobject.c:1075
 #4  0x00b6500b in clutter_shader_release (shader=0x8567af0)
     at ./clutter-shader.c:612
 #5  0x00b659b9 in clutter_shader_finalize (object=0x8567af0)
     at ./clutter-shader.c:107

Then, let's split release in two, with an _internal() version that does
not notify "compiled" and use it from dispose (as the object is still
usable after a call to release_internal().

http://bugzilla.clutter-project.org/show_bug.cgi?id=2512

ebassi/clutter,ebassi/clutter,jigpu/clutter,collects/clutter,jigpu/clutter,Distrotech/clutter,djdeath/clutter-multithreaded,heysion/clutter-clone,djdeath/clutter,dlespiau/clutter,nobled/clutter,collects/clutter,dlespiau/clutter,collects/clutter,spatulasnout/clutter,ebassi/clutter,djdeath/clutter,heysion/clutter-clone,djdeath/clutter,kerrickstaley/clutter-vala,djdeath/clutter-android,djdeath/clutter-android,spatulasnout/clutter,Distrotech/clutter,djdeath/clutter-multithreaded,GNOME/clutter,jigpu/clutter,djdeath/clutter,jigpu/clutter,ebassi/clutter,djdeath/clutter-android,djdeath/clutter,jigpu/clutter,spatulasnout/clutter,collects/clutter,heysion/clutter-clone,nobled/clutter,GNOME/clutter,kerrickstaley/clutter-vala,collects/clutter,ebassi/clutter,dlespiau/clutter,GNOME/clutter,djdeath/clutter-android,jigpu/clutter,kerrickstaley/clutter-vala,djdeath/clutter-multithreaded,djdeath/clutter-android,heysion/clutter-clone,Distrotech/clutter,heysion/clutter-clone,Distrotech/clutter,Distrotech/clutter,spatulasnout/clutter,GNOME/clutter,kerrickstaley/clutter-vala,spatulasnout/clutter,djdeath/clutter,djdeath/clutter-multithreaded,GNOME/clutter,nobled/clutter,Distrotech/clutter