How does Azure Event Grid facilitate event-driven architecture, and what are the key components involved in event processing?