Use Nuget
Separate projects and use Nuget for dependencies
Use Nuget also as Package Manager: the application is able to load Nuget plugins dynamically (+1 squashed commits)

Squashed commits:

[613eccc] Use Nuget
Separate projects and use Nuget for dependencies
Use Nuget also as Package Manager: the application is able to load Nuget plugins dynamically