Begin converting UI to proper MVVM and add settings dialog. Fixes #45, fixes #73, fixes #129, fixes #130
Add markup extensions