cleaned up a bit from the matrix tests
some optimizations and cleanup

In the matrix's rotate(...) function, I made a sine and cosine call
once, then assigned the result as necessary to the matrix constructor.

Removed my definition of the vector assignment and copy constructor.

Removed the test for copy constructor from vector test and the test for
assignment from both vector and matrix tests.  I trust the compiler's
ability to make a shallow copy and to handle simple assignment.
made the ship rotate with matrices

Removed ship movement in the process.  Implementing that will require a
bit more work.
changed viewport to make rotation ok

Previously, the X and Y values in my viewport were dependent on window
size.

Now the viewport is square whose sides are the minimum of the length of
the window width and height.