Adjust non-Polymer UI to make it reusable in redesigned Polymer UI, and reuse it.

An additional bonus: previously spread out knowledge about the exact ids and structure of spark.html is now concentrated in Spark class. All other classes/functions get already extracted Elements from it to work on.

This is a bridge version just to allow continued reuse of Spark in SparkPolymer: it still binds to data and events dynamically, pulling Elements from the HTML and modifying them in Dart. After or just before the complete switch to Polymer UI, this will be redone further using static binding, with Dart preparing and binding observable data to Polymer elements' attributes, letting the elements do presenting themselves.