Target-specific allocation alignments

Back in the Hexagon RFC thread, there was an idea of creating target-specific functions to return the required allocation alignments for each target. They would replace the global constants kAllocAlignment and kTempAllocaAlignment, and allow each target to specify its own alignment requirements.

It seems like putting it in DeviceAPI would make sense, but there are uses of these constants outside of src/runtime, e.g. in src/lang/buffer.cc or in src/pass/lower_tvm_builtin.cc, and DeviceAPI is not available at that level. Where should such functions should be placed to be available both in runtime and at the compile time?