Add a test for type combinations allowed for compound assignment

There are bugs where browsers and/or drivers allow compound assignments
to an lvalue of a scalar type with an rvalue of a vector/matrix type,
even though they should not. Add a test that covers this plus other
combinations for compound assignment. It is not an error when the lvalue
has a vector/matrix type and the rvalue has a scalar type.

This is the first test for the 1.0.4 test suite, so also update test
suite version number to 1.0.4 in code and documentation.
The only reason for the "sub" parameter is to enable assigning the compound assignment target variable to gl_Position/FragColor, so it will surely be used, and not optimized out (though maybe this in itself is not strictly necessary). I don't think that putting it in the message is necessary.