Replace onClick with onMouseDown

onMouseDown is actually triggered *before* blur in at least Firefox and Chrome. IE test is still needed.

This way we no longer need the ugly and flaky setTimeout (only one left to defer the focus for Firefox).