Use async/await where applicable instead of using SynchronizationContext/Dispatcher

Just some minor refactoring now that the solution uses .NET 4.5