Now that we can draw arc paths, we can optimize our circle implementation (at least under some scenarios)