[BUGFIX] Only freeze empty array/dict with weakmap
[BUGFIX] Only freeze empty array/dict with weakmap

When arrays and objects are frozen in JavaScript, it is impossible to
attach meta-data (like Ember's own `meta`) to them without using a
WeakMap. Ember does adopt the WeakMap strategy in browsers that support
it, however there are still supported environments (IE9, IE10) where
`Object.freeze` is supported but WeakMap is not. But not freezing these
empty arrays and object if WeakMap is missing, legacy meta-data
strategies are permitted on those instances.

See:

* https://github.com/emberjs/ember.js/issues/14264
* https://github.com/emberjs/ember.js/pull/14244

glimmerjs/glimmer-vm,tildeio/glimmer,tildeio/glimmer,chadhietala/glimmer,chadhietala/glimmer,lbdm44/glimmer-vm,glimmerjs/glimmer-vm,glimmerjs/glimmer-vm,lbdm44/glimmer-vm,lbdm44/glimmer-vm,chadhietala/glimmer,tildeio/glimmer,chadhietala/glimmer