Narnia Girl. What a great trip. Im a southern Ontario person so I can't comment on the northern part of your trip
For Lake Erie, crystal beach might be a good choice, it is about 20 minutes from NF.
http://www.forteriecanada.com/tourism/crystalbeach.shtml
Another alternative would be to change things around a bit and hit Lake Erie just south of London at Port Stanley.
http://www.portstanley.net/local-attractions
For Lake Huron, there is a great park under the bluewater bridge heading into the states. We love getting fries from the food cart there, sitting on the benches and watching the big boats. There are also crazy kids who jump into the fast water under the bridge and get carried along by the strong current. There is a park just north of there with a beach but it is a bit rocky.
Another alternative would be to stay in London, head south the one day to Port Stanley, and then the next day to Grand Bend. It has an amazing beach. There is a cluster of hotels by the 401 and the Wellington street exit in London with a great mall just down the street for your teen.
http://grandbendtourism.com
For Toronto
Center island is nice, we like to rent bikes ( you can get then off the island cheaper but on the island they have Surrey bikes), we take the ward island ferry. Ward island is the only island with houses and they are cool to look at. There is also a disc golf course there and a beach with stand up paddle boards ( check groupon and living social for deals). The views of the island of the city are real cool. All the islands are connected. If going on the ferry buy your tickets on line ahead of time.
An alternative would be to go to The Beaches area. This part of town is hoping, especially on weekends.
For shopping, my kids really enjoy Queen St W more than Eatons centre ( which is just like any large American mall). Queen w has the cool chain stores teens like ( urban outfitters for example) but there are mixed in with vintage shops ( black market has nothing over 20), and funky boutiques. Another great shopping area is Kensington Market.