The focus signal is used to let the focus switch between elements in a
way as easy as possible. FIXME: be more verbose here
At the beginning, there is no focus. So, once the focus enters the
view, it emits the 'focus' signal on the root, FIXME: continue here
If there is a focus, we can easily find out which element the focus
has, the we can move up the canvas tree and find the next item to be
focused.
Emit CcItem::focus-next - which actually gets the focus chain, finds
out which child currently has he focus and then steps through the
list to find the next focus-able child.
If there is no focus chain, the canvas uses the list of child
elements from top to bottom.
Once there's no item which can take the focus in a cycle, we just
return FALSE, so the parent's signal handler for the focus event can
take the focus off us and move it on to the next element.