feat(frontends/lean/elaborator): elaborate auto params and explicitly given fields as soon as possible, too.
feat(frontends/lean/elaborator): elaborate auto params and explicitly given fields as soon as possible, too.

Also make sure not to elaborate fields before other fields their type depends on.
Makes inline tactic proofs in structure instances possible.

dselsam/lean,leanprover/lean,leodemoura/lean,leodemoura/lean,rlewis1988/lean,rlewis1988/lean,fpvandoorn/lean,leanprover/lean,dselsam/lean,avigad/lean,johoelzl/lean,Kha/lean,Kha/lean,dselsam/lean,leanprover-community/lean,avigad/lean,rlewis1988/lean,digama0/lean,fpvandoorn/lean,leanprover-community/lean,rlewis1988/lean,leanprover/lean,fpvandoorn/lean,fpvandoorn/lean,dselsam/lean,leanprover/lean,leanprover/lean,digama0/lean,leanprover-community/lean,leanprover-community/lean,leanprover-community/lean,johoelzl/lean,johoelzl/lean,avigad/lean,leodemoura/lean,leodemoura/lean,digama0/lean,leodemoura/lean,johoelzl/lean,avigad/lean,Kha/lean,leodemoura/lean,digama0/lean,leanprover/lean,digama0/lean,fpvandoorn/lean,digama0/lean,johoelzl/lean,johoelzl/lean,dselsam/lean,dselsam/lean,rlewis1988/lean,avigad/lean,Kha/lean,Kha/lean,leanprover-community/lean,avigad/lean,rlewis1988/lean,fpvandoorn/lean,Kha/lean