ENH: add a node observation event with priorities

The abstract logic class provided a way to set priorities on MRML scene
event observations, but hadn't exposed the object events with priorities
method on the MRML nodes observer manager. This change adds a new
macro to allow setting priorities when observing MRML node events.

Issue #1690
ENH: add layout change start and end events on the layout node

Some displayable managers need to update their managed actors/widgets
when the layout changes, provide this set of events that can be observed
for skipping updates when the layout is changing and then doing them when
the layout has finished changing.

Issue #1690
ENH: use the new layout node events and priorities for the observation

Get and observe the layout node singleton and respond to layout end
event, ignoring events when the layout is changing.
Added a render all widgets call in the helper to try and update
positioning after layout changes, a work in progress.

Issue #1690