Controller/Entity: requestView swaps for _initView

Instead of using _initView() to create an instance of the ViewClass, we
use requestView() for the ability to override in subclasses. This
unifies the paths controllers can take to create a view.