Added the abstract LSystemVisualizer class to manage drawing, changed how all rules, functions and visualizer calls occur