Moved adapting surfaceline to a higher level (surfaceline instead of geometrypointstring) to prevent removing "real" characteristic points (i.e. other than type = None). Cleaned code a bit.
Adapted surfaceline and geometry input for kernel by getting rid of points that are alomost the same which (sometimes) leads to accuracy problems in the kernel. Related to Issue [MWDAM-2208]