Clone mixinOptions and mixinDefaults when composing options

This resolves a bug that causes the original mixinOptions/mixinDefaults
configuration to be overwritten due to prototypal inheritance