[#29] Created Renderer interface, added infrastructure to support renderer creation, rearranged View to now have a starting point, minor cleanup to View.