Removed sealed constraint from class declaration to allow inheritance.
Performs casting of extended component only once in OnInitialized, and casts to only necessary level (i.e. FrameworkElement) to allow inherited classes to support other panels that maps to Canvas placement properties (using DependencyProperty.AddOwner).
Merge remote-tracking branch 'remotes/origin/WpfDesignerCanvasPlacement'