On my laptop, I already use Karabiner to make Caps Lock function as Control if used as a modifier key, and ESC if just tapped. Much easier to reach, works for both Emacs and Vim keybindings, only issue is that sometimes you hit ESC by accident if you start doing a chord but then decide against it. I personally think this is a better solution than a soft key for escape, but it may not be to everyone's taste.
Ah, that's disappointing. Another reason to be glad I haven't upgraded yet, I guess.
Also, wow, I'm glad I don't maintain any popular open source projects on GitHub: https://github.com/tekezo/Karabiner/issues/660. I can't believe the number of people who think "+1", "me too", and "donated" messages are at all helpful.
Also, looks like Karabiner Elements exists as a rewrite for Sierra. https://github.com/tekezo/Karabiner-Elements Haven't yet checked if it supports the same dual behavior, though.