setLegend() can now move legend position

Delegate legend painting to the new Legend object