refactor(wizard): revamp the wizard tour creation process
refactor: flatten the wizard tree structure and simplify multi adds
- add a dummy root node to the tour tree
- init the wizard with a flat list instead of a deep one branch tree
- create add_steps() to simplify adding several steps at once, and accept
them in order instead of reversed
refactor: make the main tour a function, not a constant
This matters in unit testing where we restart multiple times,
sometimes with destructive effects, but it's cleaner design anyway.