sqlite: replace sedlex+PPX with ocamllex (E335)
The CREATE TABLE lexer matched on ASCII characters only — punctuation,
keywords, identifiers, numbers, and quoted strings whose body bytes
pass through verbatim. None of sedlex's Unicode classes were used, so
sedlex.ppx was paying for nothing while merlint flagged every
PPX-expanded [__sedlex_state_*] / [__sedlex_partition_*] identifier as
double-underscore module access (~68 spurious E335 hits).
Convert lib/lexer.ml -> lib/lexer.mll. The grammar is unchanged: same
keyword table, same quoted-identifier and single-quoted string readers
(now ocamllex sub-rules), same NUMBER fallback for operators / passthrough
bytes (UTF-8 round-trips because ocamllex's [_] matches any byte).
Drop sedlex, sedlex.ppx, and menhirLib from the library deps; menhir's
traditional API plugs into [Parser.create_table token lexbuf] directly.