SparkWidget: generalize autofocusing capability

This fixes the part of https://github.com/dart-lang/spark/issues/604

1. `focus()` is factored out from `SparkButton` to `Widget`.
2. Created a mother `spark-widget` element, and it has `on-focus="{{focus}}"`
3. Renamed `widget.dart` to `spark_widget.dart`.  because custom tag has to have `-` char. to follow `spark_widget.html`, `widget.dart` is changed to `spark_widget.dart`.

TEST=Open AboutDialog on the menu -> check if `close` button got focused.

review @ussuri 
thanks always!