Wait for element to become visible properly

An element can be added hidden and then shown. `should_see_id_in_seconds` will fail in that case even if showing the element happens before the timeout.
This is the only place in this pull request where behavior actually changes? Everything else is refactoring and clean-up?