Implemented coshaderType annotations for RenderManShaders

These allow a shader writer to limit what sort of coshaders can be connected into a particular coshader parameter. Coshaders are given types using the "coshaderType" annotation. Coshader parameters specify the type they will accept using a "parameterName.coshaderType" annotation which must match the value specified by a candidate input coshader.

Fixes #460.
Merge pull request #464 from johnhaddon/coshaderTypeAnnotation

Implemented coshaderType annotations for RenderManShaders