let Line2D takes ND generic parameter
merge all the node construction by class and null constructor operation into Node.instanceByClass()
add make Polygon2D generic for different node types