Add Swift interface

I've added a Swift interface which features:

* a unified API for all the spec value types
* stronger typing for "owner" semantics in maintenance blocks
* overrides for `CGFloat` to smooth over Swift's unwillingness to convert `Double` to `CGFloat`