move shader loading code and linking and validation/logging

into shadermanager class. much cleaner this way, and will help us when
we do the tile renderer