Added PredefinedSelectedArea enum, attribute, interface for providing selected area and provider.
Added three implemented selected area provider (custom, fill and square).
PredefinedSelectedAreaProvider return proper IPredefinedSelectedAreaProvider (accordign to enum passed value) and calls GetSelectedAreaSize method.
SelectedAreaShape dependency property.
Added property to control selected shape size (square/fill/ 16:9 etc.).
Orginal selected area setter sets VisualSelectedArea when zoom factor
Added area providers with factory-like provider class.
When rotation or selected area shape is changed then view is updated.