Thin router DSL for compiling inbound mailbox routes into pure route data.
A router module declares ordered route/2 entries and exposes the compiled
routes through __mailglass_inbound_routes__/0. Runtime matching is handled
by MailglassInbound.Router.Matcher, which preserves top-to-bottom,
first-match-wins semantics.
Phase 39 intentionally keeps the public matcher surface narrow:
:recipientaccepts an exact string or regex and matches the envelope recipient.:subjectaccepts an exact string or regex.:headersaccepts{header_name, exact_string_or_regex}tuples.