WebDriverWait: allow custom callback

WebDriverWait: allow a custom callback which is used to check the condition to wait for