WIP: Rectpolygon with rounded corners

Numpy optimizations are yet to be done.
Should use `self.radius = radius` so that you can use the `setter` checks that will be built in.