The sprite inherits from Poseable. It is intended to allow for
pure 2D rendering or integration of sprites/particles into 3D
scenes. Eventually an ImageScene should be created to test out the
image loading, sprite movement and rotation, and 2D camera
functionality for the builtin engine.
Poseable is not a struct because it has a vtable. This means that
it cannot be used easily with glVertexAttribPointer.
This quick fix should be overwritten by a full fix that stores the
matrix data in a seperate vector and modifies the matrices with
poseable interfaces. (Will go into more detail in that commit.)
Now using GLM instead of the custom math libraries.
Sadly, this did not 100% fix the problem at hand but it does give
some closure that the math is not the problem.
Also it will be nice to have a general math library to not have to
deal with creating every math function every time.