put xLim and yLim on plot and refactor them into options, drop abstractfigure and make firgure a trait