In a small bowl, whisk together the flour, baking powder and salt.
In a medium bowl, beat together with an electric mixer the butter and sugar. Once light and fluffy, add the egg yolk and extracts. Once well incorporated, sprinkle over half the flour mixture and beat gently until combined, then sprinkle over the rest. Beat until no streaks of flour remain, but be careful not to over-mix.
Dust a clean counter top with flour, and dump the dough out onto it. Gather it into a ball and press it into a 2? thick round disk. Flour your rolling pin, then roll out the dough out big enough to cut out about 8 shapes. Place the shapes on a baking sheet lined with parchment paper or a silicone mat. Gather the dough scraps and re-roll to cut out 4 more shapes and place them on the cookie sheet.
Place the cookie sheet in the freezer for 5 minutes while you preheat the oven to 350.
Bake the cookies for 10-12 minutes, until the edges of the cookies just start to turn brown. Let them sit on the sheet a few minutes before moving them a wire rack to cool completely.
Once the cookies are completely cool, make the icing by whisking together all ingredients. Start with 3 teaspoon milk, and add more to achieve a slightly runny consistency. Ice your cookies by outlining the shape using a squeeze bottle or small piping bag with a tip, then flood the icing within the borders to fill it in. To make the little hearts, scoop a small amount of the frosting into a separate bowl and add red food coloring until you get the desired color. Use a toothpick to make heart shapes.