WIP: Refactor Shader management to reduce pointer use
WIP: Get it compiling, still a few kinks to work out