Abstracted shader management