refactored to be more object oriented
implemented pointInPolygon and assertions (they fail b/c isHole not working yet)