* 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
* move drun into modes
* add support for wrapping labels
* make MenuItem a generic struct
* add optional field to struct to pass data along
* merge config and args
* implement normal window
* set placeholder text from config / args
* key handler is now using key codes instead of hard coded values
* drun now is able to spawn an application, although process is not
forked yet