converted to MVVM

The code is completely reorganized. Now it is MVVM-based application, which is uses Catel. Possible some issues still may occur.