Math3D: Change the vector swizzlers to return const objects.

Something I stumbled upon when re-using portions of this file for citra. This could cause stupid bugs when you try to do something like `some_vec4.xyz() = some_vec3`, which would compile to a no-op because `xyz()` doesn't return references.

Fwiw, a number of other design changes have been made in https://github.com/citra-emu/citra/commit/57911b6e245c59ec07d439d9a50bcc5b57d0546f , but I won't submit a PR for this because the files are already somewhat out-of-sync and the other changes might not be everyone's taste anyway :)