Added support for invalid variants to GafferUI._Variant.fromVariant()

They are returned as None.
Added TextWidget setErrored()/getErrored() methods.

When errored is true, the widget is displayed with a scary salmon background.
Added error display to string and numeric PlugValueWidgets.

If an exception occurs when calling plug.getValue(), the widget is displayed with a red background to indicate that the current value is invalid. This is of most use when creating expressions to drive those values, because it's very easy to get an expression wrong temporarily, and before this totally broke the UI update.
Merge pull request #1090 from johnhaddon/expressionErrorHandling

Expression error handling