Clean up view registry API

After talking with the team, we've decided that instead of #4353, we'll just make some more minimal changes to the view registration system. This PR:
* Removes all view-related methods from the models.
* Simplifies the API for adding view providers to the view registry; you now always pass a model constructor and a function that returns a view.