Fix polymer UI menu

This CL fixes the Polymer UI not showing (crashing). It also (or mainly) fixes spark-selector, spark-menu, spark-menu-button, and the menu instantiation and hooking up in the Polymer UI, such that the event with the correct action id from the clicked item bubbles up to the right receiver (SparkPolymerUI) and the respective action is invoked there.

To make the above possible, introduced an MVC-like scheme:
1) An abstract SparkModel with API to access actionManager and similar, plus a singleton accessor; 
2) Spark (and indirectly SparkPolymer) extends SparkModel and defines its API.
3) SparkPolymerUI uses SparkModel.instance to access the managers it needs to invoke actions etc. based on the events in the UI. Event handlers are bound statically in the HTML - no querySelectors anymore.

Also fixed the +/- buttons for theme/keys switching in the Polymer menu. They look a little ugly (as the rest of the menu, though), and close the menu on the first click, but work.

@terrylucas @dinhviethoa