Make caret and avatar overlays rather than inline content

Depends on PR #574

Having the caret and avatar display inside the cursor node causes text wrapping and other element shifts to occur in some browsers (mainly FF) due to there being layout impacts from the almost-but-not-quite 0-width cursor element.

Moving to non-inline overlays for these bits of chrome allows the cursor to be hidden completely.

Fixes #86.

This patch exacerbates the symptoms seen in #260 as now the entire caret appears off over the annotation. For the sake of keeping the PR itself small, I will submit a fix for that particular issue in a separate PR.