Restore focus to the event trap if reset by an operation

With the event trap now being inside the cursor, any repositioning of the cursor causes the document.activeElement and window selection to change. This causes the document to stop being editable after actions such as bolding current text.

Now, the focus state of the event trap is checked prior to each operation, and will be reset back to the event trap if disrupted by an operation. Note, checks are in place to prevent stealing focus if the document is not active when an operation is executed.

Fixes issue #298