The Mapopolis central London map gives you all the items you mentioned in your post except for the tube map, though it does show tube stations. As well as these you can also search for airports, bus stations, civic/community centres, railway stations, hospitals, museums, parks, historical monuments, and tourist attractions, among others. You can also search by post code, by street name, by intersection, by contact address, by GPs position and by Latitude/Longitude.
You can define up to 8 Favorites and jump to their locations directly. You can also define a number (limited only by memory) of overlaid 'maplet locations' and you can give them your own type/category names if the inbuilt ones don't suit.
You can measure distances between locations 'as the crow flies' or by street, and you can find a route between any two points, routing through any number of other points. Once it generates the route you can save it and load back in, and save it as a text file of directions (e.g. 'Turn left in .02 miles').
You can have as many maps as you can fit in main memory, built-in storage, CF cards and SD cards. When you load in your main map you can have it auto-load the surrounding maps as well.
There are about 14 zoom levels and you can scroll around the map by dragging with the stylus. If you use it with GPS the map updates in real time, as do the route directions.
The best thing about all this is that the program is free, you just pay for the maps, and you can download demo versions of the maps which will work for about 9 days. You could download the app and a map of your local area to test it out and, if you like it, buy the maps you want - you can buy them singly or in sets: see
www.mapopolis.com for details.
By the way, I have no connection with Mapopolis other than being a satisfied customer.
As for a tube map, you could try VisualIT's
Tube application. It's good, but it costs money.
If you want the cheapest solution (at least, the cheapest I know of), get Sunnysoft's
MapView which you can try out for 30 days. You can scan your own maps, including a London Tube map, and use MapView to scroll around them. You can add named points of interest markers as well.
MapView isn't free, but it's very inexpensive and worth every cent, IMO. The biggest problem with this solution is, of course, the amount of scanning you could end up doing.