I think I can safely get rid of the echo chars spinlock.

Keyboard notifier pushes keys on the circular buffer,
unless there's not room then it does nothing.
vt notifier takes chars off to match against output, looking for echo.
One puts, the other takes, they should get along.
And it's less to do on the vt notify side, which
will help with the timing bug, which still isn't entirely fixed by the way.