Updated README with simplified build instructions
Added appleseed visibility attributes
Merge pull request #1139 from appleseedhq/gafferseed_visibility_attributes

Added appleseed visibility attributes
Tidied up Node bindings.

- Removed scriptNode() wrapper function and replaced with CastToIntrusivePtr.
- Moved implementation details to unnamed namespace.
- Removed redundant includes.
Added Node::errorSignal().

This will be used for communicating errors to the UI.
Implemented error signalling for ComputeNode errors.

Errors are emitted for the node on which they occurred and also on all ancestor nodes.
Fixed drawing of ImageGadget children.

If it's going to accept children, it really ought to draw 'em.
Added more threading checks to EventLoop.py.

QTimers are meant to be used on a single thread, and start() should be called on the timer's thread and no other. This means the idle methods, signals and callbacks should only be used on the UI thread.
Added Gadget::executeOnUIThread() method.

This is equivalent to EventLoop.executeOnUIThread(), but for the C++ world. Ideally we'll unify these two at some point in the future.
Improved quality of images rendered by StandardStyle::renderImage().
wip