Fix division by 0 in horizontal Edge constructor

In some cases (bottom.y_ - top.y_) is zero thus producing infinite slope. 
Discovered by clang's undefined behavior sanitizer.

note: I'm not 100% this change is the best way to fix this