Add main donate page with TMN and PromptPay flows, donation schema with retry system, SSE integration, heartbeat endpoint, and file-to-data-url utility. Remove unused donate client component.
Move checkSlip into a shared lib/payment module so the donate page can reuse it without duplicating SlipOK API logic.
- rework form core and migrate all old usages