WIP - Graphics renderer

To discuss the current work - NOTE: This is probably quite an old version of the source by now. However, feedback on performance, would be good.

I have profiled this code and noticed most of the time is spent inside code calculating coordinates for terrain. Maybe this needs tuning? (or only calculating once?)