Add GUI Backend for Transactions

This branch adds:
A viewmodel for MainWindow,
An IProductService interface to wrap openTill.Domain.Services.ProductService
A TransactionItem class to wrap openTill.Domain.Product with neccessary properties
An ObservableObject class to wrap INotifyPropertyChanged interface