Added PlugValueWidget.childPlugValueWidget().

Prior to this we had just been implementing the method directly on child classes, with no default implementation in the base class. This was because previously Plug could not have children (only CompoundPlug could), so it made no sense on the base class. Now that Plug can have children and CompoundPlug is flagged for removal, it makes sense to have the method defined on the base class.

Fixes #1123.
Fixed ImageView context scoping.

It wasn't using the right context when evaluating the various colour samplers. The fix continues the tradition of just shoving more and more stuff into the one monolithic class - this needs to stop.

Fixes #1124.
Added some comments regarding refactoring ImageView.
Merge pull request #1125 from johnhaddon/fixes

Fixes for #1123 and #1124