Drop foundation and block scopes ยท PR #4586
Refactor CompileDrop and add DropBuilder
Objective
Refactor the Drop helper API without changing behavior.
Store Context in CompileDrop, and move the candidate note and peek operations to DropBuilder.
Why it was needed
The general compile Context contained the note and peek operations for Drop candidates. These operations only served Drop handling, so they did not belong in the general compile API.
This PR moved them to DropBuilder as a first step toward a dedicated Drop API.