Edge and Junction Objects

Implemented Edges and Junctions.

Each Edge has 2 junctions, we then use these to draw the hexes on
screen.