The individual vector type templates have a lot of duplicate code. Extract the common parts into a new `glm/vector/template` module.