fix Canvas::LineSet implementation to support horizontal and vertical linesets
use Canvas::LineSet for tempolines rather than N different Canvas::Line items plus a cache