Split out cursorActivity and focus handlers

Fixes hidden remote cursors being shown after local edits