Two more utilities to MorphologyUtils.

Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>
Fix several problem with border conditions in Erosion.

Unfortunately not all of them.

First: I had the wrong convention for FULL erosion: The full erosion
does not eat away part of the source image, but indeed increases it by
the size of the strel, as is done for the Dilation.
This problem was found trying to fix the second.

Second: There is a very annoying problem when chaining strels. We use a
List<Shape> for strel decomposition, and it is crucial that the
decomposition results is identical to the single Shape result. But when
eroding to a new image, it is not in some cases:
Because at the border of the image we are fetching a default value, a
second strel in the decomposition might return an inadequate value
acting on the result of the first strel. This is done in particular when
eroding an image which has only a black pixel on the border with a
diamond strel large enough.

The solution is to perform the full erosion, then to crop the final
result to the size of the source image. That way, out of border values
are properly stored for subsequent erosion by strels in the list.
Inefficient but it works.

Unfortunetaly, these are not the only instances of this problem.
Signed-off-by: Jean-Yves Tinevez <jean-yves.tinevez@pasteur.fr>