refactor Canvas so that all Items have children; add Container abstract base class; rename Group as "Layout" and retain only drawing semantics
use newly factored canvas in gtk2_ardour
explicitly qualify cast to ArdourCanvas::Container so that it works.

I assume that gcc is failing to complain about ambiguity with Gtk::Container even though there should
really be no ambiguity
Merge branch 'canvasredesign' into cairocanvas