atlas: fix some journal flushing issues
atlas: fix some journal flushing issues

1) Always flush when migrating textures out of an atlas because although
it's true that the original texture data will remain valid in the
original texture we can't assume that journal entries have resolved the
GL texture that will be used. This is only true if a layer0_override has
been used.

2) Don't flush at the point of creating a new atlas simply flush
immediately before reorganizing an atlas. This means we are now assuming
that we will never see recursion due to atlas textures being modified
during a journal flush. This means it's the responsibility of the
primitives code to _ensure_mipmaps for example not the responsibility of
_cogl_material_flush_gl_state.

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