OCSADV-196: ImPolygon

Added ImPolygon class to create polygonal Shape objects independent of diva.
Actually, I suppose it can be avoided by creating the first `GeneralPath` in the `points.headOption.map`, so I'll go ahead and do that.