Fix `debugActiveDateIntersectionObserver` checkbox being checked by default when the value was actually `null`.
Now we properly only care about explicit `'true'`, `'false'` from local storage.
Before:
```
<input id="debugActiveDateIntersectionObserver" type="checkbox" checked="null">
```
After:
```
<input id="debugActiveDateIntersectionObserver" type="checkbox">
```
Also does friendly redirects if you don't exactly use the right URL pattern.
For example, if you paste the full room ID with the `!` like `/roomid/!foo:bar`,
it will properly redirect you to `/roomid/foo:bar`. It also does this sort of
thing for URL encoded room ID's and aliases.
Fix https://github.com/matrix-org/matrix-public-archive/issues/25
The main benefit we're getting from this refactor is semantics, `Escape` to close modal, and focus lock.
We have one existing modal with the Developer Options.
This refactor is happening so it can be used to add a new homeserver in the homeserver selector on the room directory page, https://github.com/matrix-org/matrix-public-archive/pull/87