A Principled Approach to Policy Composition for Runtime Enforcement Mechanisms