app: don't do any queue_resize() in the canvas' size-allocate callback
which means we can't setup scrollbars there. Move the code to a GtkTickCallback which runs before the next frame after the size-allocate. Also put the center_image_on_size_allocate() code there because it has to run after the canvas' tick callback, and the order of tick callbacks can't be controlled. As a side effect we now have a flag in GimpDisplayShell which indicates that there will be a size allocate before the next frame, so simply skip drawing the canvas completely. This fixes new images jumping around when they are first shown.
Showing with 47 additions and 82 deletions