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
Right; I am just suggesting to simplify the accepted types: float creates a circle, length-2 sequence creates ellipse, and everything else (including length-1 sequence) raises an exception. The reason for my suggestion is that duck-typing is generally frowned upon, so it's best to minimize the number of allowed cases as much as possible.