Fix buffer iterator handling of shifted tiles (bug 725604)

Previous code didn't correctly account for buffer shift when
the iterations had different rects.
operations: Fix memory leaks in seamless clone

The leaks detected and fixed herein were discovered using the
"Leaks" template in Apple's "Instruments" tool.
At least according to Instruments, there are completely no leaks anymore
after applying the fixes in this commit.
Remove redundant "format" property from GeglCache

Which mirrored the buffers format, but was not kept in sync.
Remove dead code
Move add handler functions into TileStorage
Remove unnecessary includes in gegl-buffer-load.c
Remove incorrect G_UNLIKELY
Remove unnecessary includes in gegl-buffer-save.c
gegl: typo in gegl_buffer_get_pixel
Move downscale functions out of tile-handler-zoom
Pass bpp instead of component count for boxfilter
Enable high quality scale for double precision formats
Get rid of function pointer in boxfilter

With the current logic it's an unnecessary complication.
operations: Remove calls to gegl_buffer_flush

These calls existed to cover some old bugs in Gimp's tile
handling but are now just causing unnecessary swap tile
writes. (If anything breaks because of this change that
code needs to explicitly call buffer_flush itself, instead
of relying on the operations to do it.)
Fix a bad unref and a memory leak
ops/workshop: add ink simulator

Initial sketch of a spectral proofing filter.
Add ink-simulator.c to POTFILES.in
Clean up gegl-buffer-private.h

Reindent and remove two duplicate definitions.
Remove empty headers
Remove unused static function