* change signature of gui::show to include option with factory
trait to create new element instead of boolean
* change signature of get_[sub_]elements
the newer signature makes it way clearer what the semantic behind
the value is.
* improve how completion with tab is handled
* added config option, so tab can be used to submit