Interface Builder Designable & Ispectable Support

Note: also contains changes from #1, which can be closed if this one is accepted.