The London Pass would be your cheapest option. You could gain free entry to most of those attractions in your list and many other fee-paying attractions with the London Pass. You can also jump the queue with it at selected attractions. Full list here:
http://www.londontown.com/lpass/ (glossier view)
See this review for potential savings you can make with the London Pass and more info about it:
I will say this though, I strongly disagree with the advice they give there regarding buying the London Pass on its own. The difference between buying the London Pass on its own + using Oyster pay as you go (and limiting your travels within Zones 1-2 as they say there) vs buying a London Pass with travel option (to travel freely anywhere within Greater London, i.e., Zones 1-6) is only ?0.90/day!
You'd only have to visit 2 or 3 places outside Zones 1-2 during your stay in London (Eltham Palace and Wimbledon come to mind) to make up the difference and you'll then basically have free travel outside Zone 2 with the London Pass and avoid the hassle of having to top up the blooming Oyster card. So if you're gonna buy the London Pass, I'd advice you buy the London Pass + Travel.