Refactor|Line: Various Line API improvements

The majority of the time when one references a Line::Side section it
is to return the Surface owned by the section. Accordingly the API
should reflect that.

The middle(), bottom() and top() methods of Line::Side now return
the associated Surface. The less usual case of returning the Section
itself is now serviced by the section() method.