Created virtual class containing an instance of Setup\Context
Created virtual class containing an instance of Setup\Context

Setup Context is indeed not injectable because the whole Magento\Framework package is skipped during compilation. 
Now Magento will use the created virtual class when injecting DataSetup. This virtual class will already contain an instance of Setup\Context, so it does not need to inject it.
outeredge/magento-layout-module