incorporated profiler into Qt Widget's PaintGL function, testing the time to transform all vertices and the time to draw
shortened profiler's 'flush to fresh file' method name to 'flush to file', which is a more proper description of what it does
added and tested a Matrix2D factory for scaling in X and Y
accounted for window aspect ratio with scaling matrix
added boundary checking, wrap-around (commented out now), and bouncing off walls (I like this better)
added a diamond-shaped border and drew it with GL_LINE_LOOP
added a profiler field for border drawing; also rearranged how the existing profiler calls were made
changed vector argument names from 'lhs' and 'rhs' to 'left' and 'right', respectively, which I thought would be more clear
added and tested vector dot product
changed the member names of the Matrix2D to be based on x, y, and w so that it would be similar to the names of Vector2D member names
removed the unused 'math.h' library that was included in the Vector2D test file
implemented and tested Vector2D normalization; also changed the Vector2D length calculation to include w
used cool vector dot product stuff to make the ship bounce off an arbitrary wall
added and tested a 'magnitude squared' function for Vector2D for computationally cheap vector magnitude comparisons
implemented and tested a 'project onto' function, which took advantage of 'magnitude squared' to perform a projection without requiring the 'magnitude' function and thereby skipping the expensive sqrt(...) function call
added a temporary profiler test to check the difference between the previous 'border collision detection using normalized wall vector' and the new one that skips normalization; the new one is about 2.5 times faster; not bad if there are lots of walls and lots of objects to check
removed the profiler experiment and left the border check with no-normalization
added a test for Vector2D dot product to make sure that the dot product of two normalized vectors (I used two values from the unit circle) was the cosine of the angle between them
implemented and tested LERP (Linear itERPolation; don't ask about the acronym) function in Vector2D
made the ship linearly interpolate around in a square; this currently overrides user input