Implemented edge snapper
Code cleanup
Added Circle and Ellipse items