* Simplify TileElement type conversation
* Introduce TileElementsView
* Move TileElementsView code into TileElementsView.h
* Cleanup code and move into OpenRCT2 namespace
* Use reference instead of pointer
* Fix include
* Make GCC happy
* Move the cast functions into base
* Use the cast function instead of reinterpret_cast
* Add TileElementsView tests
* Fix iterating on TileElementBase, return pointer not reference