Heat oven to 350 degrees F. Butter or spray a small baking dish with non-stick cooking spray. (The pan should hold 4 to 5 cups. An 8-inch round pan, 8-inch x 4-inch loaf pan, 8-inch square pan or small oval baking dish will work). Heat olive oil in a wide skillet with sides over medium heat then add minced garlic and cook about 1 minute until fragrant. Add the artichokes and cook 2 to 3 minutes until warmed through and beginning to brown around the edges. Add the spinach and season lightly with salt and pepper. Cook, tossing occasionally, until the spinach wilts down, about 2 minutes. Transfer garlic, artichokes, and spinach to a bowl and set aside. Place the skillet back onto medium heat then add the butter. When the butter begins to bubble, add the flour. Cook, whisking constantly 2 to 3 minutes until butter smells fragrant and nutty — the color of the butter-flour mixture will be light brown. While whisking, slowly pour the milk into butter and flour mixture. Continue to cook, whisking constantly until the sauce bubbles and thickens. Remove pan from the heat. Stir in the cream cheese, cayenne pepper, and oregano. When the cream cheese has melted into the sauce, add feta cheese and half (1/2 cup) of the mozzarella cheese. Stir until completely melted. Stir in the garlic, artichokes, and spinach from earlier. Transfer the dip to baking dish and top with remaining mozzarella cheese (1/2 cup). Bake the dip until bubbly and the cheese begins to brown on top, 15 to 20 minutes. To make the cheese even more browed on top, turn oven to broil and broil 1 to 2 minutes. Serve warm.