WIP: RectVisual, Regular polygon visuals, and more.

As a start, I have updated the EllipseVisual to support float input as radius to draw a circle. I have also replaced instances of ```paint``` with ```draw``` which wasn't done in PR #275
I had added this case so that the EllipseVisual will draw a circle if a float or a singleton list/tuple is passed as the radius parameter. This way the second radii parameter redundancy is removed for the user.