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.
Added untracked files to repo (size extensions and fourbythree area provider).
Removed "reversed" area providers. Fixed SizeExtensions .GetSizeWIthAspect - it can't returned values bigger than provided by size in argument.
BUGFIX:
Fixed bug which lead to crash (sometimes) when control was loaded - SelectedArea is updated now only when control template is loaded and set.
Merge branch 'development'