Class OPTIMIZER.
Performs various optimizations of the lines being routed, attempting to make the lines shorter and less cornery. There are 3 kinds of optimizations so far:
- Merging obtuse segments (MERGE_OBTUSE): tries to join together as many obtuse segments as possible without causing collisions
- Rerouting path between pair of line corners with a 2-segment "\__" line and iteratively repeating the procedure as long as the total cost of the line keeps decreasing
- "Smart Pads" - that is, rerouting pad/via exits to make them look nice (SMART_PADS).