Cleaned up graphics
Moved transformation and matrix functions to their own file and also
outlined the 4 new matrix functions in the GSmatrix.h general header. I
also removed all of the model functions that we did not need and were not
working, they don't actually make any sense.
Outlined matrix constants.
Corrected parameter data types, the matrix functions work using indexes
and the matrix get is the only way of accessing the array.
Fixed the matrix functions, double checked in Studio early access docs and
it is in fact all via array.
Merge pull request #605 from RobertBColton/master

Cleaned up graphics
Circle drawing works, with the same inefficiencies as ellipses.
Triangle drawing code. A few off-by-one pixel errors.
Simple draw_text_sprite implementation (layout's still a bit buggy).
Merge branch 'master' into gm5_compat
sound_add scaffolding; two older flags ignored for now.
Bugfix: Closing brace of scope was lost in some room scripts due to one-line comments. Added a newline before the brace to fix this; also added an empty comment (based on similar code in parse_and_link, line 70).
Merge pull request #608 from sorlok/room_fix

Bugfix: Closing brace of scope was lost in some room scripts.
Merge branch 'master' into gm5_compat