Merge projection view module

* view module contains an instance of projection now.
* needed for further support for multiple map projection support in future.
Where possible, I think we should consolidate functionality such that code is minimally repeated. For instance, add a projection argument to init() and call setMapProjection within init(). Needing to update code in multiple locations leads to a lot of problems in my experience.