cleanup: use const for struct Location pointers and references

this allows the compiler to generate more efficient code