initial implementation using focus events

this is the initial implementation... doesn't do shift-tab wrap around
the other way. Tests also aren't working because simulated tab keypress
event isn't changing document.activeElement.
(modal) Add "keep tabbing on modal" functionality

Updates of modal and testing updates to support W3 specification for
tabbing through form elements.