app: allow to set a "priority rectangle" on GimpProjection

If it is set, that rectangle gets processed first when
idle-constructing the image via ChunkRender.
app: render/update the visible part of the image first

Set the active display's viewport as priority rectangle on the image.

Update the rectangle in the default implementations of
GimpDisplayShell::scaled(), ::scrolled() and ::rotated(), which isn't
entirely correct yet but much better than before, and the only "bad"
thing that can happen with a bogus priority rectangle is that the
image is updated as out-of-viewport as before, just differently.