In a mixer fitted with a whisk attachment (or using a hand mixer), whip the egg whites until stiff but not dry. Refrigerate.
Preheat oven to 350 degrees F. Line two 13-by-18-inch baking sheets with parchment paper.
In a mixer fitted with a paddle attachment (or using a hand mixer), cream the butter until smooth. With the mixer running, slowly add the sugar and mix. Add the vanilla, almond extract, and lemon zest and mix well. Sift the flour 3 times with the baking powder (this is to lighten the cakes). Add a third of the flour mixture to the butter mixture and mix. Add half of the milk to the butter mixture and mix. Add another third of the flour mixture and mix. Add the remaining milk and mix. Add the remaining flour and mix until smooth. Fold in the egg whites. Pour the batter into the prepared baking sheets, filling them about 1/2 full. Bake until firm to the touch 20 to 25 minutes. Let cool in the pan.
To make the frosting, place egg whites and sugar in a mixing bowl and warm over hot water to dissolve the sugar (this is a Swiss meringue). Remove from the heat and whip with the whip attachment until cool and stiff. Add the butter, a little at a time, then add flavorings.
Sandwich the 2 layers of cake together with 1/2 of the butter cream between them. Frost the top with the remaining half and use an icing comb to make wavy lines all over the surface. Chill for 2 hours. Then trim the edges and cut into bars.
Recipe courtesy of Gale Gand