Robust Javascript virtual desktop