Actually, MacVim uses new APIs all the time! For example, it supports Touch Bar which requires 10.12.2. Features that use these newer APIs do have to be optional with the correct compile-time and runtime checks, unless we make a conscious decision to update the minimal target (10.9). To be fair, MacVim is not actively tested on older macOS versions like 10.9, and so we would only know of issues if people file bugs against MacVim.
I'm curious what you intend to use NSStackView for though? If it's a major feature, you may want to file a WIP PR/issue or contact us first just to get some feedbacks. MacVim's philosophy is to be the most integrated / native gVim implementation on macOS, and intentionally not bloated with non-Vim features, so I'm curious what feature would need NSStackView.
ARC: It's mostly legacy. Developers' time is limited, and I think it's better to spend time on implementing other features / fixing existing bugs than converting to ARC. If you want to write new code, please use the existing memory allocation mechanism instead of ARC. The reason is the same as why companies have coding standards: inconsistencies in the codebase tends to be worse than whatever problem you are trying to fix.
Thanks for contributing!