Split out AppKit and updated NSButton