Fix error reporting
Split up shader.py and added uniform handling