support for diagonal label placement
initial work on segment labeling