Refine complementing category semantics

Allow the `complements` object flag to be set to a new value, `restrict`, to prevent hot patching but still allow new functionality to be added to complemented objects