The new shader parameter system

Closes #19