Moved shader code into its own class and restored the printlog function.

Still does not render on my desktop...