Added bearing calculations and distance between ways is calculated by finding the nearest node, then finding the shortest distance (with sign) between the node and a line passing between the evaluated node in the way and the previous evaluated node.