refactor live cursor; add user color; add color picker callout; add cancelation to file upload