In a heavy pan, heat the olive oil over medium heat. Add the onion and garlic. Brown for 10 minutes.
Add the mushrooms, tomato sauce, brown sugar, vinegar, red pepper flakes, fennel seed, basil, thyme, oregano, salt, and 1/2 teaspoon of the black pepper along with 1 tablespoon of the parsley. Gently stir, cover, and let simmer over low heat for 1 hour.
While the sauce is cooking, put the tofu in large bowl. Add the eggs, nutmeg, and rest of parsley & black pepper. Combine well to break up the tofu so you end up with something that looks like ricotta cheese. Set aside.
Now just soak the lasagna noodles in a large pan filled with very hot water for at least 15 minutes.
Once the sauce is cooked, construct the lasagna in a deep 9x3-inch pan. First, spread 2 cups of the sauce on the bottom of the pan. Lay 6 noodles down. Spread half of the tofu mixture over the noodles, then sprinkle that with 1/3 of the mozzeralla and parmasan.
Make another layer in the same way: sauce, then noodles, then tofu, then cheese. After that, lay down the rest of the lasagna noodles on top. Spread any remaining sauce over the noodles, then sprinkle the remaining cheese over the top.
Cover with foil, and bake in a preheated oven at 350F for 30 minutes. Remove the foil, then bake for 30 minutes. Remove from oven, then let cool for at least 15 minutes before serving.