[API review]Move drawing logic to drawers

Close #1106.
as above, id like to nuke AreaPlot.paint and just use base implementation