Refactoring of seamless cloning

This pull request brings several improvement to the seamless cloning routine in the photo module.

First, a number of unnecessary allocations have been removed, lowering the overall memory footprint of the methods.

Secondly, a number of method were re-written in order to improve the overall performances, resulting in a significant speed-up (at least x2)

Finally, a number of cosmetic improvements are brought in order to better comply with the coding guidelines.

Please note that this PR also contains the bug fix already proposed in PR #3283, but not merged yet.
I don't get what you mean by "we don't put const everywhere where it's possible to reflect the constness."

Personally, I mark everything as const, unless I have to, I feel like this allows for a better tracking of potential side effects. However, if it's better form to remove the const specifiers, I will remove them altogether.