gitea/routers/web/auth
wxiaoguang 6913053223
Start using template context function ()
Before:

* `{{.locale.Tr ...}}`
* `{{$.locale.Tr ...}}`
* `{{$.root.locale.Tr ...}}`
* `{{template "sub" .}}`
* `{{template "sub" (dict "locale" $.locale)}}`
* `{{template "sub" (dict "root" $)}}`
* .....

With context function: only need to `{{ctx.Locale.Tr ...}}`

The "ctx" could be considered as a super-global variable for all
templates including sub-templates.


To avoid potential risks (any bug in the template context function
package), this PR only starts using "ctx" in "head.tmpl" and
"footer.tmpl" and it has a "DataRaceCheck". If there is anything wrong,
the code can be fixed or reverted easily.
..
2fa.go refactor some functions to support ctx as first parameter ()
auth.go Less naked returns ()
linkaccount.go Replace `interface{}` with `any` ()
main_test.go Implement FSFE REUSE for golang files ()
oauth.go Start using template context function ()
oauth_test.go Bump github.com/golang-jwt/jwt to v5 ()
openid.go Replace `interface{}` with `any` ()
password.go Split "modules/context.go" to separate files ()
webauthn.go Move web JSON functions to web context and simplify code ()