ocaml-json: wire Textloc / Meta / Path to ocaml-loc
Replace the JSON-extracted [Jsont_base.Textloc], [Jsont_base.Meta] and
[Jsont_base.Path] modules with re-exports from the standalone [loc]
library, which was itself extracted from jsont. The three are now
aliases (module Textloc = Loc, module Meta = Loc.Meta,
module Path = Loc.Path); the old duplicated implementations are dropped
from json_base.ml/mli.
Loc's API uses separate integer components for line positions rather
than the (line_num, byte_pos) tuple the original jsont exposed.
Internal call sites in json_bytesrw.ml that still carry the tuple
destructure it at the Textloc.make and adjust_context boundaries.
Removing the tuple allocations in the parser hot path is a follow-up
optimisation (addresses the memtrace hotspot).
The Error module is not yet unified with Loc.Error -- its kind is still
a tagged string and the [exception Error] is local. A later commit will
route it through Loc.Error's extensible kind registry.