Introduce work in progress code of the Seamless Clone Operation

This commit also includes the code of the poly2tri-c library.
Finish removing old cairo code, put most operation logic in place
Add the necessary automake files and modiy configure.ac. Still needs work
Fix warnings of all types - compiler and autotools
More small fixed for autotools and code
Lots of bug fixing, the operations now works
Optimize calculation area, fix wrong sampling list calculation, cache colors
Don't do malloc for the entire paste - sample it instead
Work in gamma corrected RGB to get much better results!
Also build the poly2tri-c command line program (p2tc)
Introduce a new WIP two-step seamless-cloning procedure
Remove accidently pasted text from Makefile.am and fix the build
Fix seamless-clone-prepare to save the result, rename things in render

In the seamless-clone-prepare op, warn if the destination pointer for
the result is NULL. Also, actually store the pointer to the result at
the given pointer to a pointer.

In the seamless-clone-render op, rename the offset properties to "x"
and "y" instead of "xoff" and "yoff".
Extract a function to do the preprocessing for the mesh rendering
Make the two-step seamless clone realtime!
Handle most cases where parts of the paste are outside the background

Since we can't compute the color difference of an outline point if it's
outside the background bounds, we will simply ignore it in the weighted
average. This removes the artifacts that appeared from such cases.

Note that this doesn't solve the problem where all selected sample
points are outside the background, but the algorithm isn't really meant
for handling such cases so this is the best we can do.
Rename GEGL_INTERPOLATION_* according to commit 500bef586
Make the refinement limitation a function argument

Instead of using the environment variable p2t_refine_steps, the limit is
now a parameter to all the functions, and is also a parameter of the
gegl operation itself. It won't crash now if the environment variable is
missing (that was the state previously).
Process the buffer in tiles instead of whole at once

The change was only applied to the gegl:seamless-clone operation, and it
should later be applied to the gegl:seamless-clone-render operation.
Remove code duplication between the seamless-clone operations