Refactored View to be an interface
Added new TemplateView as the implementation
Moved engines to a subpackage of View
Updated docblocks