For appliances, we can actually combine the first three (think linux-bios) and do away with the WM in kiosk style implementations.
For general purpose computing, we can do away with the majority of boot-from-off situations by improving support for sleep/hibernate. Aside from kernel updates, the only reasons I ever boot my systems is due to shortcomings in my OS's sleep/hibernate implementations.
Look at the iPad as an example. Booting-from-off is a 30-60 second process, but since it has a proper sleep implementation, booting is an extremely rare occurrence.