Replace vector class implementation with GLM

Closes #59.
Replace matrix class implementation with GLM

There are some slight differences with the new implementation:

- matrix<height, width>::get_translation() now returns a
  vector<float, height> instead of a vector<float, height - 1>

- Rotation isn't implemented yet

Closes #21.