Implement SerializeModel on views in preparation for removing the use of `model.toJSON()`

opening in favour of #745 - implemented in a BC manner. We should take care of this fully as part of #1599 in the next major version
This seems non backwards-compatible. If anyone has overridden collection.toJSON, this will potentially break their behavior.