Sweet, sounds good. Moving away from storyboards has been the best decision I've ever made, so I appreciate the work you're doing. It's allowed me to grow as a developer and have much more flexibility and less ambiguity when it comes to laying out my interface.
I love your anchor extension idea, and I added to it a bit, and I'd like to know what you think. It's essentially the same as yours, except I'm using a tuple where we can access the anchor and constant if the developer wanted to use a custom constant:
public func anchor(top: (anchor: NSLayoutYAxisAnchor, constant: CGFloat)? = nil /* left, bottom, right */) { /* ... */ }
It's too bad tuples don't support default arguments or it'd look super clean when calling anchor on a subclass of UIView.