Grease a 9" round cake pan with coconut oil and set aside
In a large bowl combine the flour, sugar, cocoa, baking soda and baking powder and mix until blended. Stir in the oil, vinegar, vanilla and water and mix well.
Scrape batter into prepared pan and bake until a toothpick inserted in the center comes out clean about 30-35 minutes. Set aside to cool for 10 - 15 minutes before inverting it onto a wire rack to cool completely.
In a food processor, process the tofu until smooth. Add the sugar and vanilla and process that until smooth. Add the chocolate and do the same. Transfer the mixture into a bowl and refrigerate until needed.
In a double boiler or small saucepan, combine all the ingredients and cook over low heat, stirring until melted and smooth.
Transfer to a bowl and refrigerate to set up a bit before using (about 30 minutes). The consistency should be thick but pour-able. Store leftover in the fridge 2 - 3 days.
All Together Now
Use a serrated knife to cut the cake in half horizontally, creating 2 layers. Frost the top of one layer with the mousse. Top with the remaining cake layer. Pour the ganache over the cake and refrigerate for 30 minutes.
If you don't want the ganache, you could skip the cutting the cake in half horizontally step and just use the mousse as topping. This is great when you have to make a large quantity and you don't miss out on any deliciousness what so ever.