Draft: MacOS support
All of this was written by @shinyquagsire23, I just got it a bit closer to upstream as I've been messing with Mac a bit this week. Doesn't quite compile, I'll get it over the finish line and unmark as draft in the next few weeks