chore(views): refactor `Elgg_ViewsService` to store absolute paths

TODOs:
 * [ ] Add tests for global code that depends on this service.
 * [ ] Add tests for integration with simplecache
 * [ ] Remove special-case for core views in `getViewLocation`

This is a major refactoring of `Elgg_ViewsService` to remove global state and prep for #6844 (and #3737 to a lesser extent). I know for sure that the global functions are broken as a result of this, but we don't have tests for them. Looking for early feedback, especially in regard to **what tests we can add**.

DO NOT MERGE
`pathinfo($view_location, PATHINFO_EXTENSION) === 'php'` ?