Re-work the mixins for swiftpm and downstream packages
Keep mixin_swiftpm_base as the base of SwiftPM and all dependents, but
then separate the SwiftPM + package bases and their respective
platforms.
This allows SwiftPM to add its own changes without impacting downstream
packages (eg. the recently added cross compile setting).