Webclient GUIToolkit: change button API (#532).

BREAKING CHANGE

`dm4c.ui.button()` takes a single `config` argument instead of 4. All are optional. Thus the caller must no longer pass useless `undefined` arguments. Furthermore the button() API is better extendable.

You must transform your plugin code:
{{{
dm4c.ui.button(my_handler, "my label", "my icon", false)
}}}
becomes
{{{
dm4c.ui.button({
    on_click: my_handler,
    label: "my label",
    icon: "my icon",
    is_submit: false
})
}}}

In preparation of 1-click menus.

See #532.