update ojw_alert (re-design dyn alert)
some improvements in tools modules

- remove extra parameters
- use getBoundingClientRect instead of getClientRects
cleanup ojw_dom
add button_dyn_alert and predicate on click button

the predicate indicates if the button should be pressed
or not (according to the return value of the predicate
function)
add events to ojw_traversable + update old stuffs

I've updated the old implementation of the module parameter,
because using a special type for option was not so useful. Also
I've added events to know when an element is set to active.
update ojw_dropdown (according to the new widgets)

I've also added some options to enable or not link with
the dropdown (it is useful when composing another widget
which does not use link for the dropdown).
update ojw_completion (add a lots of options)
update oasis
clean up
improve closeable function
pass button element as parameter for before/after

using partial application, button element is now passed
as first parameter for button_alert and button_dyn_alert
fix show action of ojw_alert
add helper to prevent outer click (for ojw_alert)
fix outer clicks for alert buttons
pass button as parameter of function (dyn_button)