Kienstra 28709 focus()

Implements `api.Section.focus()` and `api.Control.focus()`. 

`api.Section.focus()` calls expand() on `containingPanel` if it exists.
`api.Control.focus()` calls expand() on `containingPanel` and `containingSection`, then calls `focus` on its first 'input' element.

Doesn't work if already in another panel. I could support that if you would like.