OCSADV-196: ImPolygon

Added ImPolygon class to create polygonal Shape objects independent of diva.
This was how it was done in the original Batik file, so I was following suit and assuming that a line segment should be considered empty because it has area 0 despite being defined by points. However, now that I think about it, this seems sort of arbitrary, since `n` collinear points for `n > 2` should technically, for the same reason, also be considered empty and this check wouldn't make a difference in that case.