Lots of work on adding generic GUI elements

Sliding plane element for GUI is coming along well. Mostly just a tidy
and re-factor of the Altar code, but also becoming more generic,
allowing for much more to be done with it much easier.

IGuiHelper allows for optional hooks into some of the interactive gui
components I plan to add