Add forward and backward iterators to iterate the widget tree.
Add unit tests for testing the widget tree iterators.
Change FocusBehavior to use the widget tree iterators and squash the code.
Change the focus example in examples to show full prowess of focus (including root/layout focus).