For the layout, I don't personally know many applications with much on the left/right sides. Most apps have a top-down approach with most of your tools located along the top. If anything, the left side should be nothing more than a "toolbox".
From a usage approach, the fastest switch would be hidden divs... but be prepared to throw in a fair amount of AJAX for some of the other calls. Also keep in mind that your app completely breaks using either of those approaches if the user has JS disabled. Probably not anything to be too concerned about, but it's worth some thought.
I personally don't think it's necessary to provide something like this. The web is what it is and people that expect the speed of a website to match that of a desktop app don't understand the technology.
However, having said that, I've thought about something recently that may or may not help you. One of the main problems with an application like that is getting real-time data without some sort of refresh. But what if you fired an event in the background that was based on a timer or whatever that did nothing but update the hidden divs. That way you could swap them out at will and they'd always have accurate data. You could easily check to see which ones are hidden and which ones aren't and only update the ones that need to be changed. It could get very complicated, but could come close to what you're after.
I don't know if that's just my ramblings that'll confuse you or if any of that will help, but good luck with it.