Added min, max, and minmax methods to Polyline
Improved closing of Polylines

Now it handles the case when the closing Edge is collinear with first or last Edges, and the case when the Polyline is already closed but the first and last Edges are collinear. When possible, the first Edge is extended to close the gap, otherwise the last Edge is extended. In the case when the closing Edge backtracks over the first Edge, the first Edge is trimmed.
Added a translate command to Transformation

Modifies the Transformation by the given translation
Added min, max, and minmax to Square and CenteredSquare
Converted Square to a class-cluster

Now it's more like Rectangle
Don't force Edge#vector to return a vector

This was causing problems with non-numeric values (operator proxies, futures, etc). Trust the duck typing.
Tweaked handling of array arguments to Size::[]

This is should flatten any passed Arrays
Override Matrix multiply and divide operators

The default operators have issues with non-Numeric element values
Added Size#inset and Size#outset