libinjection sync to 3.9.1

This brings you to latest and this should compile on windows.   My fork is a bit old so if this does not merge cleanly let me know and I'll resync / refork.