refactor(tile-preload,ipc): collapse feature-* fallbacks + delete legacy (Phase 3.7b)
Remove the V1-compat dual-path for the 10 feature-registry/install/browse
channels in tile-preload.cts: drop featuresCompat object, hasFeaturesCapability()
helper, and all ternary branches in api.features — every call now routes
directly through the strict tile:features:* channel.
Delete the corresponding 10 legacy ipcMain.handle blocks from tile-ipc.ts
(feature-registry:list/get/disable/enable/remove/history,
feature-install:resolve/preview-capabilities/install,
feature-browse:resolve-publisher). The feature-browse:list-by-publisher
handler is retained — it was already strict-only with no compat branch.
feature-settings-* handlers in ipc.ts are unchanged (out of scope).