Made the offset tool final code. It can be applied on Faces, the result is another Face type shape.
Couldn't find a trick when generating bigger shapes with offset to make the join type to be other than circle, or at least to be a circle with radius 0. The offseting seems to work well only when starting from the biggest shape to the smallest one.
Will move to finish other tasks and keep this one in stand by thinking on how this tool might be improved further.