We add a variable `browser_time_zone` to track the same
separately from `display_time_zone`.
This is used to check whether the user profile time zone matches
the browser's time zone, as a part of #16957, and will later be
used in #16958.
We also add methods to check whether a given timezone is the same
as that of the browser, making use of the browser's own
canonicalization process.
Tests are added to ensure that the time zone comparison
logic works for timezones observing DST.
Fixes part of #16957