fix ui issues

1. Change `canvas` to `canvas.before` - fixes #40
2. Clicks in Widget Navigator which are not on a tree item cause `args[1]` to be `None` in the `on_selected_node` handler, which then throws an exception. Fixed by checking for truthiness.
3. Use stencils to prevent widgets from drawing outside editor area.