feat(js_top_worker): add filename field to message protocol
Add optional filename parameter to Complete, TypeAt, and Errors
messages so Merlin can be configured for .mli vs .ml files.
Thread filename through impl.ml's config/wdispatch/query functions
and wire it in worker.ml's message handler.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>