Some work on optimizing paths. Currently buggy
Rewrote the branch's methods
Merge consecutive vertical line segments into one large one
Merge branch 'optimized-paths'