$.getCssMatrix() may return a function rather than a matrix

If $.getCssMatrix() is called without passing an element as an argument, and a *Matrix function is available on the window object, the caller may get a function back, rather than a matrix. This seems counter-intuitive.

This PR reworks the $.getCssMatrix() function so that it always returns a matrix. It also changes the control flow so that exceptions should not be used to determine whether to return a matrix or not.

Tests are provided in test/getCssMatrix.test.js.