quaternion: Flesh out the API

We should provide some more quaternion API for the data type to be
actually useful to others.
tests/vec2: Test all const vectors
tests/vec3: Add initial vec3 test suite
tests/vec4: Add initial vec4 test suite
tests: Verify the allocation paths for vectors
tests/vec2: 100% coverage for graphene_vec2_t
tests/vec3: 100% coverage for graphene_vec3_t
tests/vec4: 100% coverage for graphene_vec4_t