Error Boundaries

Catches JavaScript errors in components and displays fallback UI.