Handle focus at the host element level

Detecting focus and blur at the level of the input is creating problems
when we blur and then immediately refocus. This is simpler.