[BREAKING CHANGE] Cleanup widget focus/select/clear methods

Add methods to base widgets instead of wrapping them in widgets that
compose them.

Callers should be updated like so:

.focus() -> .getQuery().focus()
.getQuery().$element.select() -> .getQuery().select()
.clear() -> .getQuery.setValue( '' )

Changes:

* Remove clear and focus methods from SearchWidget, as they were too vague
  given they didn't describe which of the composed widgets (in this case
  it was the text input) was being focused and cleared.
* Add focus method to InputWidget
* Add select method to TextInputWidget

Change-Id: I324dfc2c275aafb7dd5628cd164767379d7659ea
Merge "[BREAKING CHANGE] Cleanup widget focus/select/clear methods"