Move drawing logic to drawers

Close #1106.
Why must paths contain lines?