Merged widget manager and canvas

  - Canvas manages widgets
  - Direct copy-and-paste port for now
  - Enables new ways of redrawing widgets
  - HUGE API CLEANUPS AHEAD