Refactored draw (the main exposed function) and draw_ds to make draw_ds more suitable for recurrence. The order of parameters in the all the drawing functions are also changed.