Changed Edge's hash function

Edge(a, b) should be the same as Edge(b, a)
Fixed a bug with drawing
May have broken other things.