For the casserole: Preheat the oven to 350 degrees F. Spray a 9 by 13-inch baking dish with cooking spray. In a large bowl, whisk together the eggs and milk until well blended. Add the croutons and toss until well coated. Add the remaining ingredients and mix. Pour into the prepared baking dish and bake until browned and puffy, 45 to 50 minutes. Let rest 5 minutes before serving.
For the onion and mushroom jam: In a large skillet over medium heat, add the olive oil. When the oil is hot, add the onions, mushrooms, sugar, vinegar and salt and pepper, to taste. Mix everything together and cook for 5 minutes. Turn the heat to low and cook, stirring often to prevent burning, until the onions are caramelized, 20 to 25 minutes. Taste and season with salt and pepper. Remove from the pan and let cool. Cover and refrigerate until you are ready to serve.
For the tomato and pesto topping: Combine all the ingredients in a medium bowl and stir. Cover and refrigerate until ready to serve.
For the avocado and black bean salsa: Mix all the ingredients together, cover, and refrigerate until ready to serve. Serve the savory casserole with the assorted toppings.;