Added ImageTimeWarp, ImageContextVariables and ImageSwitch.

These are implemented using the same mechanism as SceneTimeWarp, SceneContextVariables and SceneSwitch - simply mixing in functionality from the generic classes in the Gaffer module.

Deprecated GafferImage::Select as it is now superceded by ImageSwitch - it remains in the build for backwards compatibility but has been removed from the node menu.
Added DependencyNode compatibility to Switch class.

Prior to this, Switch needed to derive from ComputeNode so that it could implement switching using hash() and compute(). Now it can also derive from DependencyNode, in which case it implements the switching by making an internal connection from the appropriate input to the output.
Added a ShaderSwitch node.