more efficient circle/line generation and fixed polygon draw bug