Move drawing logic to drawers

Close #1106.
for `Drawer.Area` we are being polite, but for `Drawer.Path` we need to do that, because `Drawer.Area` expects it.