ContextGNN: Beyond Two-Tower Recommendation Systems