OCSADV-196: ImPolygon

Added ImPolygon class to create polygonal Shape objects independent of diva.
Let's see if we can get away with `closedPath` being just an empty `GeneralPath` in the case that there are no points instead of an `Option[GeneralPath]`.  I see the apache code returned a `null` `PathIterator` but it seems like it should just work:

    scala> val gp = new GeneralPath
    gp: java.awt.geom.GeneralPath = java.awt.geom.GeneralPath@615e992

    scala> gp.getPathIterator(null).isDone
    res2: Boolean = true