The polygon

In this assignment you are to create specific animations of a polygon.

The polygon should be created using the following technique:

Each vertex is defined by clicking on the window. The final number of sides is determined by clicking on the first vertex a second time.
Once the polygon has been defined, it should be filled in and begin to rotate.
Polygon behavior is determined as follows:

clicking and dragging the polygon translates the polygon within the window
clicking and dragging the polygon while holding the shift key scales the polygon
Clicking the polygon while holding the Alt key reverses the direction of rotation.
As usual you get bonus points for doing interesting things above and beyond the program requirements such as:

allowing multiple polygons
including additional transformations such as shears or reflections,