Disable login button until the timezone is set

On slow computers it might happen that the user manages to login before
the timezone code has a chance to run, which then causes dates to appear
wrong in the UI.

This fix makes sure the login cannot happen until the timezone field is
set.

Note that it's not possible to run the timezone code outside of
document.ready() because at that time the DOM element doesn't exist yet.

Fixes #8206, but only the case where the user logs in before the page has finished loading. The SSO code doesn't go through the login page so will be fixed separately.

Please review @ser72 @DeepDiver1975 @icewind1991 @schiesbn