Refactor|HEdge: Link half-edges to Line::Side instances

Also applied the pimpl idiom to HEdge and made private some of the
instance data.