Transformed vector constructors into static methods

The idea behind this is to have a consistent way of creating instances. For points/vector this is not a big issue to use public constructors, but rectangle/matrix/quaternion classes could have constructors with identical parameter types.

What do you guys think?