This reverts commit 0fa18a9f62.
Unfortunately MS's C++/CLI compiler seem to have a bug handling operator overloads with global qualified types. Rever this for now until we figure out a workaround.
We generate free functions inside a global namespace-level class with the same name as the header. This means that there might be some conflict if we already have a class with the same name as the header. This fix changes the code to always fully quality classes so the code always compiles correctly.