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
Try to avoid repeated code as much as possible. For example, set_gl_options is called once for _each_ constructor, which means it is called 3 times for the RegularPolygon constructor.