Added said functions from the last commit

Some reason forgot to implement them ;-)
Added a shader interface, and 'shader-asset'

eu·pho·ri·a
a feeling or state of intense excitement and happiness