We should add `ve.dm.Model.static.allowedTypes` to specify which types that aren't in `.static.matchTypes` are also allowed to be present. It should take the following values:
- `null` to allow any other types (default)
- `` to allow no other types
- array of `string|RegExp` specifying other types to allow
We should then get rid of extension specific types and the `registerExtensionSpecificType( /^mw:/ )` call.
Note that this differs from the current behavior: currently, non mw:-prefixed types are allowed but no extra mw:-prefixed types are allowed. We may have to modify some MW node classes to compensate.