InfiniteContainer: added tests and fixed functionality

- [x] @Aintaer 
Similarly to this, you'll also need to `stopListening()` in `destroy()` and set `this._model` to `null`