Set a large skillet over medium heat. Add enough olive oil to thinly coat the surface of the skillet. Add the shallots, and season with salt and pepper. Cook, stirring regularly, until the shallots soften and begin to turn translucent. Turn the heat down to low, and continue stirring occasionally, until the shallots are soft, sweet, and caramelized. This may take 30 to 45 minutes. If your mushrooms are gritty or dirty, use a damp rag or paper towel to gently wipe them clean. Cut the mushrooms into large bite-size pieces. Some mushroom varieties can be torn with your hands rather than cut with a knife. For example, I like to break maitake mushrooms into large chunks and tear oyster mushrooms into slivers. These hand-torn pieces should approximate the original shape of the mushroom. While the shallots are cooking, set a large skillet over high heat. Add enough grapeseed oil to thinly coat the surface of the skillet. When the oil begins to smoke, add enough mushrooms to fill the skillet in a single even layer. Let the mushrooms sear, undisturbed, until the bottoms of the mushrooms begin to caramelize. Toss the mushrooms in the skillet and continue cooking, stirring occasionally, until the mushrooms are browned and beginning to crisp around the edges. Transfer the hot mushrooms to a mixing bowl, and using a fine microplane, grate half a clove of garlic over the mushrooms. Toss the mushrooms with the microplaned garlic, and season with salt. Repeat this step with subsequent batches of mushrooms until all the mushrooms have been cooked. Combine the mushrooms with the caramelized shallots. Add the thyme, cayenne, and vinegar. Taste, and adjust the seasoning as necessary. This dish can be served hot or at room temperature. To reheat the mushrooms, transfer them to a rimmed baking sheet lined with parchment paper and cook at in the oven at 350° F for approximately 5 minutes.