Removed PyPlot from dependancies and made it optional