In gegl_buffer_create_sub_buffer(), always return a new buffer
object, even when the requested extent is equal to the input
extent, instead of just reffing the input buffer in this case.
This makes sure that (non-content-related) changes to the original
buffer don't affect the sub-buffer.
Adapt operations that use gegl_buffer_create_sub_buffer(), and for
which this distinction is irrelevant, to explicitly ref the
origianl buffer when the bounds are equal, instead of creating a
sub-buffer.