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