Separate shader source files

I like each source file to be separate, so before I get crazy with the
shaders, I split them into their own files.
Some demo tweaks and planning too.