Merge pull request #211 from mdlayher/master

Use dependency injection to inject platform-specific classes
Split FileManager into Mac and non-Mac variants, use DI to select proper one
Merge pull request #213 from mdlayher/master

Don't bind webclients in singleton scope, fix bug
Merge pull request #212 from mdlayher/mac_filemanager

Split FileManager into Mac and non-Mac variants, use DI to select proper one